首页 > 解决方案 > 多维数组到 HTML 表

问题描述

我正在尝试将 php 多维数组转换为 HTML 表。

问题是我想用rowspanand来组织表格colspan以反映数组结构。我知道它有效,但我不想在另一张桌子内使用一张桌子。

下面是一个数组示例和预期结果。

编辑:
下面还有我当前的结果(没有rowspanand colspan
我使用 rownspan 的尝试导致一团糟。桌子完全失去了它的结构。

Edit2:
下面还有我的来源和它的实际结果。

Array
(
    [0] => ID
    [1] => Array
        (
            [test2_id] => Array
                (
                    [0] => ID
                    [1] => name
                    [2] => data
                    [3] => Array
                        (
                            [test3_id] => Array
                                (
                                    [0] => ID
                                    [1] => name
                                    [2] => info
                                    [3] => data
                                )

                        )

                    [4] => info
                )

        )

    [2] => name
    [3] => Array
        (
            [test4_id] => Array
                (
                    [0] => ID
                    [1] => name
                    [2] => info
                    [3] => data
                )

        )

    [4] => data
    [5] => info
)

预期结果
当前结果

php:

echo '<table border= 1>';
$this->iterate($array, 4);
echo '</table>';

function iterate($array, $level)
{
    echo '<tr>';
    foreach ($array as $key=>$row)
    {
        if (is_array($row) )
        {
            echo '<th rowspan="1" colspan="'.count($row, COUNT_RECURSIVE).'">';
            echo key($row);
            echo '</th>';
        }
        else
        {
            echo '<th rowspan="'.$level.'" >'.$row.'</th>';
        }
    }
    echo '</tr>';
    foreach ($array  as $key=>$row)
    {
        if (is_array($row) )
        {
            $this->iterate($row, $level -1);
        }
    }   
}

我遇到的问题之一是 COUNT_RECURSIVE 命令包含键和值。我必须进行手动迭代才能获得正确的计数(对于 colspan)

结果图片下方:
php reult

标签: phphtmlarrayshtml-table

解决方案


推荐阅读