html页面foreach循环如何分段?

php中文网
发布: 2016-06-23 14:21:17
原创
2249人浏览过



html页面foreach循环如何分段?如图所示,比如第一列读取5个换一个段落在读5个这样的效果,求解答!谢谢

【CSDN】大侠~~~
高端大气上档次,
低调奢华有内涵。
奔放洋气有深度,
狂拽炫酷?炸天。。。 


回复讨论(解决方案)

直接foreach 计数 或者用array_chunk 分段都是可以实现的

定义一个变量$p=0; 每次循环完$p++;
if($p%4==0) 分段.

直接foreach 计数 或者用array_chunk 分段都是可以实现的


我现在是用计数的,效果不理想,分页不方便,所以想截取,

求:array_chunk 实例

http://www.w3school.com.cn/php/func_array_chunk.asp

不一定非要拆分数组或计数
只需将每个条目定宽并浮动,即可在外容器内分栏排列了
只不过次序是 从左到右,从上到下
而不是你示意的 从上到下,从左到右



      

  •   

  •   

  •   

  •   
  •  5

  •   

  •   

  •   

  •   

  •   
  • 10 

  •   
  • 11 

  •   
  •  12

  •   
  •  13

  •   
  • 14 

  •   
  • 15 




这是在谷歌浏览器下的现实。设置好ul和li的宽度就可以实现任意列了
写样式要注意浏览器的兼容性问题,譬如ie的忘记那个版本了是不支持inline-block的,需要写hack

多行多列最好不要用列表,用table比较省事
test.php
  
             $arr=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
         $has_n_cols=3;  //现实几列
         $count=count($arr);
         $timer=1;
         foreach($arr as $value)
         {
                if($timer%$has_n_cols==1)
                 {
                    echo "\n";
                 }
    
                 echo "\n";
                if($timer%$has_n_cols==0 or $timer==$count)
{
                     echo "\n";
                }
            $timer++;
         }

    ?>

$value


不知道楼主有没有在用smarty模板技术 如果在用的话,给foreach起个名字

..(每循环5次 做什么 换行或者其他)..

我觉得浮动的方式是最好的。

<style type="text/css">   ul,li{padding:0px;margin:0px;}   ul {list-style:none;width:156px; background:green;}   li {width:50px; background:red;float:left;margin-left:10px;display:inline;}</style><ul>  <li>1 </li>  <li>2 </li>  <li>3 </li>  <li>4 </li>  <li>5</li>  <li>6 </li>  <li>7 </li>  <li>8 </li>  <li>9 </li>  <li>10 </li>  <div style="clear:both;"></div></ul>
登录后复制
 

介个啊 css布局好了 直接输出到底。。。

直接一个if判断即可,每隔5列就换行,换行的话,直接tr标签。



      

  •   

  •   

  •   

  •   
  •  5

  •   

  •   

  •   

  •   

  •   
  • 10 

  •   
  • 11 

  •   
  •  12

  •   
  •  13

  •   
  • 14 

  •   
  • 15 




这是在谷歌浏览器下的现实。设置好ul和li的宽度就可以实现任意列了
写样式要注意浏览器的兼容性问题,譬如ie的忘记那个版本了是不支持inline-block的,需要写hack

多行多列最好不要用列表,用table比较省事
test.php
  
             $arr=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
         $has_n_cols=3;  //现实几列
         $count=count($arr);
         $timer=1;
         foreach($arr as $value)
         {
                if($timer%$has_n_cols==1)
                 {
                    echo "\n";
                 }
    
                 echo "\n";
                if($timer%$has_n_cols==0 or $timer==$count)
{
                     echo "\n";
                }
            $timer++;
         }

    ?>

$value
 谢谢你的回答,我弄好了
HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号