首页 > 解决方案 > PHP - 使用数组通用元素创建表

问题描述

使用 PHP,如何制作一个使用对键值的通用引用而不是特定键的表?我使用表格,在问题的底部,代码与下面的数组。但是,我想对任何数组(不同的键和不同数量的键)使用相同的表代码。任何建议将不胜感激。

硬编码到 PHP 表代码中的示例数组:

{
    "port": "Et2",
    "name": "**Description**",
    "status": "connected",
    "vlan": "in",
    "duplex": "Po301",
    "speed": "full",
    "type": "10G    10GBASE-CR        "
},

我希望表格代码适用于任何通用数组,例如下面的数组。也不是一个值可以是另一个数组。如果一个值是一个数组,我希望数组的所有内容都在一个表格单元格中,即使它需要换行到下一行。数组中可能有 100 个值。

{
    "key1": "value 1",
    "key2": "value 2",
    "key3": "value 3",
    "key4": ["value 1a","value 2a","value 3a"]
},

我目前正在使用以下代码来获取特定数组的元素并将其放入表中,但希望使用适用于许多网络命令输出的表代码。

for($i = 0; $i < sizeof($data); $i++)
{
    $temp .= "<tr>";
    $temp .= "<td>" . $data[$i]["port"] . "</td>";
    $temp .= "<td>" . $data[$i]["name"] . "</td>";
    $temp .= "<td>" . $data[$i]["status"] . "</td>";
    $temp .= "<td>" . $data[$i]["vlan"] . "</td>";
    $temp .= "<td>" . $data[$i]["duplex"] . "</td>";
    $temp .= "<td>" . $data[$i]["speed"] . "</td>";
    $temp .= "<td>" . $data[$i]["type"] . "</td>";
    $temp .= "</tr>";
}

/*End tag of table*/
$temp .= "</table>";

/*Printing temp variable which holds table*/
echo $temp;

标签: phphtmlarrayshtml-table

解决方案


像这样处理数组数组

$temp .= "<table>";
foreach ($data as $subArray){
    $temp .= "<tr>";
    foreach ($subArray as $key => $val) {
        $temp .= "<td>" . $val . "</td>";  
    }
    $temp .= "</tr>";
}
$temp .= "</table>";

推荐阅读