我想使用foreach循环迭代一组数据。
但是,我希望前4个结果每行显示两个项目。之后我希望其余数据每行显示一个项目
我找到了一个可能的解决方案here
$data = range(1, 30);
for($count = 0; $count < count($data);)
{
echo "<tr>\n";
for($i = 0; $count < count($data) && $i < 2; $count++, $i++) {
echo "\t<td>$data[$count]</td>\n";
}
for(; $i < 2; $i++) {
echo "\t<td>-</td>\n";
}
echo "</tr>\n";
}
这段代码的问题是它以两行的形式显示所有数据。但是只希望前4个结果以这种方式显示。
答案 0 :(得分:0)
答案 1 :(得分:0)
尝试 -
$data = range(1, 30);
for($count = 0; $count < count($data); $count++)
{
echo "<tr>";
if($count < 2) {
for($i = 1; $i <= 2; $i++) {
echo "<td>" . $data[$count] . "</td>";
if($i == 1) {
echo "</tr><tr>";
}
}
} else {
echo "<td>" . $data[$count] . "</td>";
}
echo "</tr>";
}
答案 2 :(得分:0)
您可以这样做:
$data = range(1, 30);
for($count = 0; $count < count($data); ++$count){
if($count < 4){
if($count % 2 == 0){
echo "<tr><td>" . $data[$count] . "</td>";
}else{
echo "<td>" . $data[$count] . "</td></tr>";
}
}else{
echo "<tr><td>" . $data[$count] . "</td></tr>";
}
}
答案 3 :(得分:0)
这样的事情怎么样?
{{1}}