我需要一些帮助,用PHP生成一个表。
我有一个包含10-15个条目的数组。 像这样:
$array = array(IME1, IME2, IME3, IME4,IME5, IME6, IME7 ,IME8 ,IME9 ,IME10);
目标是创建一个这样的表:在每个第3个条目上创建一个自动新行。
有人可以帮帮我吗?
答案 0 :(得分:4)
看起来像 array_chunk()
array_chunk($array, 3);
答案 1 :(得分:0)
不是最漂亮的解决方案
$chunks = array_chunk($array, $max_col);
$max_col = 3;
?>
<table border="1">
<tbody>
<? foreach($chunks as $key => $value){
echo "<tr>";
foreach($value as $k => $v){
echo "<td> ".$v." </td>";
}
// Finish tr, but only if there are no items left for the next row
if( count($value) == $max_col ){
echo "</tr>";
}
}
// Finish td with an empty value setting colspan if there are not enough items to fil the entire row
if( count($value) < $max_col ){
echo "<td colspan=".($max_col-count($v)-1)."></td>";
// Finish the last row
echo "</tr>";
}
?>
</tbody>
</table>
考虑将逻辑与演示文稿分开。有很多模板引擎可以轻而易举地解决这个问题,或者让你定义一个函数/修饰符/片段来处理这个任务,让你轻松地重用它。