html页面foreach循环如何分段?
时间:2021-07-01 10:21:17
帮助过:34人阅读
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
不一定非要拆分数组或计数
只需将每个条目定宽并浮动,即可在外容器内分栏排列了
只不过次序是 从左到右,从上到下
而不是你示意的 从上到下,从左到右
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 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$value | ";
if($timer%$has_n_cols==0 or $timer==$count)
{
echo "\n
";
}
$timer++;
}
?>
不知道楼主有没有在用smarty模板技术 如果在用的话,给foreach起个名字
<{foreach form=$arr name=name1 ....}>
<{if $smarty.foreach.name1.iteration % 5 ==0}>..(每循环5次 做什么 换行或者其他)..<{/if}>
<{/foreach}>
我觉得浮动的方式是最好的。
介个啊 css布局好了 直接输出到底。。。
直接一个if判断即可,每隔5列就换行,换行的话,直接tr标签。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 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$value | ";
if($timer%$has_n_cols==0 or $timer==$count)
{
echo "\n
";
}
$timer++;
}
?>
谢谢你的回答,我弄好了