我需要你帮我处理一个循环问题,当大脑停止运作时,这太烦人了。
这就是我想要做的:
到目前为止还不错,但现在我搞不清楚了。如何创建在div 1中输出索引0-4的循环,然后继续并创建第二个div,以输出索引5-6 in。
当然,所有这些都应该是动态的,所以如果数组中有20个值,它将创建并用值填充4个div。
提前感谢!
编辑:谢谢大家的解决方案!
发布于 2011-10-19 19:10:37
查看一下array_chuck,它将数组拆分为http://php.net/manual/en/function.array-chunk.php部分。
// sample data
$rows = array('a','b','c','d','e','f');
$chunks = array_chunk($rows, 3); // ajust to suit number of rows per chunk
foreach ($chunks as $chunk):
echo '<div>';
foreach ($chunk as $row):
echo $row;
endforeach;
echo '</div>';
endforeach;发布于 2011-10-19 19:02:06
伪码:
<div>注意:确定一个<div>是否打开的标志来检查何时关闭通常是有帮助的。在步骤2和循环之后执行此操作。
发布于 2011-10-19 19:05:19
使用模数运算符(%)检查一个数字是否可被另一个数字均匀整除。在这种情况下,$x % 5 == 0的意思是if the remainder of $x divided by 5 is equal to 0。
<?php
$data = array("1","2","3","4","5","6","7","8","9","egg");
echo "<div>";
for($x=0; $x<count($data); $x++) {
echo $data[$x];
if ($x > 0 && $x % 5 == 0) {
echo "</div><div>";
}
}
echo "</div>";
?>编辑:在回应你的评论时,我应该这样写:
<?php
$data = array("1","2","3","4","5","6","7","8","9","egg");
echo "<div>";
for($x=1; $x<=count($data); $x++) {
echo $data[$x-1];
if ($x % 5 == 0) {
echo "</div><div>";
}
}
echo "</div>";
?>注意for循环声明的变化,我访问$data数组元素的方式的改变,以及对循环中条件的修改。
https://stackoverflow.com/questions/7826591
复制相似问题