我有以下代码,它将创建一个包含三列的表。
<?php $t = array(' 1 ' , ' 2 ' ,' 3 ', ' 4 ' , ' 5 ');
$count = 0;
$col =3;
echo '<table><tr>';
foreach($t AS $r){
$count++;
echo '<td> '.$r.' </td>';
if($count == $col){
echo '</tr><tr>';
$count = 0;
}
}
echo '</tr></table>';
?>
但我真正想要的是第一列在创建新列之前至少有4行,依此类推。最大列数为3,每列应至少有4行。
答案 0 :(得分:0)
你需要开始询问你的数组有多少元素,比如说:
$elementsCount= count($t);
然后进行测试以确定您需要的列数:
if($elementsCount>8){
$maxCols= 3;
}
elseif($elementsCount>4){
$maxCols= 2;
}
else{
$maxCols= 1;
}
现在你创建了三个foreach循环,每种情况都有一个。
是否有可能知道你是否愿意均匀分配元素,只用一个循环就可以解决问题,而不是三个。