Heim > Backend-Entwicklung > PHP-Tutorial > html页面foreach循环如何分段?

html页面foreach循环如何分段?

WBOY
Freigeben: 2016-06-23 14:21:17
Original
2034 Leute haben es durchsucht



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>
Nach dem Login kopieren
 

介个啊 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
 谢谢你的回答,我弄好了
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage