Home > Backend Development > PHP Tutorial > html页面foreach循环如何分段?

html页面foreach循环如何分段?

WBOY
Release: 2016-06-23 14:21:17
Original
2033 people have browsed it



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>
Copy after login
 

介个啊 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
 谢谢你的回答,我弄好了
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template