我试图以三行显示数据(注意项目数量并不总是均匀):
abcd defg hijk lmno pqrs tuvw xyz1 2345 6789 1011 1213
我正在努力让逻辑正确(这是在foreach()
循环中)。
我知道我必须有一些if($i %3 == 0)
逻辑。但我有点卡住了。
任何人都可以帮助我吗?
答案 0 :(得分:4)
$a = array('abcd','defg','hijk','lmno');
for ($i = 0; $i < count($a); $i++) {
if ($i && $i % 3 == 0)
echo '<br />';
echo $a[$i].' ';
}
答案 1 :(得分:1)
最好使用for
循环:
// run $i for each index in the array.
for($i=0 ; $i<count($arr) ; $i++) {
// if $i is non-zero and is divisible by 3 print a line break.
if ($i && $i % 3 == 0) {
echo "<br />";
}
// print the element at index $i.
echo $arr[$i].' ';
}
答案 2 :(得分:0)
伪代码,因为我不懂PHP(并且你要求所有过程语言中的逻辑相同):
perline = 3
i = 0
foreach item in list:
if i > 0 and (i % perline) == 0:
print newline
if (i % perline) != 0:
print space
print item
i = i + 1
这将在元素3,6,9等之前输出行分隔符(第一个元素为0)和在每行的第二个和第三个元素之前放置所需的所需间距。您可以使用perline
的其他值来更改每行的数字输出。