如何将数组转换为html表

jim*_*jim 6 php

有人可以帮助我使用这个阵列吗?我想创建一个最多5列,最多15行的表.如果只有4行,例如,则只有4行应该显示,而不是15.如果仅存在3个具有数据,则剩下的2应与被填充的细胞$nbsp;.

这是我的示例数组:

Array
(
    [0] => Array
        (
            [name] => test1
            [item_id] => 1
        )
    [1] => Array
        (
            [name] => test2
            [item_id] => 2
        )
    [2] => Array
        (
            [name] => test3
            [item_id] => 3
        )
    [3] => Array
        (
            [name] => test4
            [item_id] => 4
        )
    [4] => Array
        (
            [name] => test5
            [item_id] => 5
        )
    [5] => Array
        (
            [name] => test6
            [item_id] => 6
        )
)
Run Code Online (Sandbox Code Playgroud)

如果添加了新行,我的数据会重复.这是我目前的问题.

$row = count( $array ) / 5;
$col = 5;

echo'<table border="1" width="700">';

for( $i = 0; $i < $row; $i++ )
{
    echo'<tr>';
    for( $j = 0; $j < $col; $j++ ) {
        if( ! empty( $array[$j] ) ) {
            echo '<td>'.$array[$j]['item_id'].'</td>';
        }
    }
    echo'</tr>';
}

echo'</table>';
Run Code Online (Sandbox Code Playgroud)

cbr*_*ino 11

我们打电话给你的阵$rows,好吗?

echo "<table>";
foreach ($rows as $row) {
   echo "<tr>";
   foreach ($row as $column) {
      echo "<td>$column</td>";
   }
   echo "</tr>";
}    
echo "</table>";
Run Code Online (Sandbox Code Playgroud)

使用foreach更加惯用于在PHP中循环槽数组,它大大提高了代码的可读性.另外,您需要的唯一变量是包含数组本身的变量.


Sar*_*raz 2

查看:

PHP 数组到表

或者这个类

基本上是这样的简单逻辑:

echo "<table border=\"5\" cellpadding=\"10\">";

for ($i=0; $i < count($input); $i++)
{
    echo "<tr>";
    for ($c=0; $c<$cols; $c++)
    {
      echo "<td>$input[$i]</td>";
    }
    echo "</tr>";
}

echo "</table>"; 
Run Code Online (Sandbox Code Playgroud)