如何自动创建新表行

时间:2012-05-05 15:49:07

标签: php arrays loops html-table

我需要一些帮助,用PHP生成一个表。

我有一个包含10-15个条目的数组。 像这样:

$array = array(IME1, IME2, IME3, IME4,IME5, IME6, IME7 ,IME8 ,IME9 ,IME10);

目标是创建一个这样的表:在每个第3个条目上创建一个自动新行。

example

有人可以帮帮我吗?

2 个答案:

答案 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>

考虑将逻辑与演示文稿分开。有很多模板引擎可以轻而易举地解决这个问题,或者让你定义一个函数/修饰符/片段来处理这个任务,让你轻松地重用它。