Foreach循环 - 三列(动态)表格布局

时间:2015-04-18 20:31:43

标签: php foreach html-table

我有以下代码,它将创建一个包含三列的表。

<?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行。

1 个答案:

答案 0 :(得分:0)

你需要开始询问你的数组有多少元素,比如说:

$elementsCount= count($t);

然后进行测试以确定您需要的列数:

if($elementsCount>8){
  $maxCols= 3;
}
elseif($elementsCount>4){
  $maxCols= 2;
}
else{
  $maxCols= 1;
}

现在你创建了三个foreach循环,每种情况都有一个。

是否有可能知道你是否愿意均匀分配元素,只用一个循环就可以解决问题,而不是三个。