PHP二维数组转换成HTML

一个简单的谷歌搜索将揭示使用 PHP将二维数组转换为HTML的众多解决方案.不幸的是,这些都没有我想要的答案.

我想要一个将数组转换为HTML表的通用代码.大多数示例出错的地方在于它们假设程序员知道表字段的名称.我希望这段代码是通用的,即使我不知道字段的名称,我也可以使用它.

我可以看到我需要两个循环.一个嵌套在另一个里面.由于我不知道密钥,我不确定如何获取值.

最终的结果有望输出这样的html:

<th>
  <td>x/y</td>
  <td> x1 </td>
  <td> x2 </td>
</th>
<tr>
  <td>y1</td>
  <td> x1y1 </td>
  <td> x2y1 </td>
</tr>
<tr>
  <td>y2</td>
  <td> x1y2 </td>
  <td> x2y2 </td>
</tr>

请记住,我想要一个通用而简单的解决方案.我希望这很清楚.

以下代码将查看数组的两个维度,并将它们组成一个表.无论密钥是什么,您都可以直观地看到它.如果它们确实具有键名而不仅仅是索引,则这些值将分别在$key和$subkey中可用.如果你需要它们,你就拥有它们.

代码

$myarray = array("key1"=>array(1,2,3,4),"key2"=>array(2,4,5),"key3"=>array(3,5,6),"key4"=>array(4,6,7)); //Having a key or not doesn't break it
$out  = "";
$out .= "<table>";
foreach($myarray as $key => $element){
    $out .= "<tr>";
    foreach($element as $subkey => $subelement){
        $out .= "<td>$subelement</td>";
    }
    $out .= "</tr>";
}
$out .= "</table>";

echo $out;

结果:

如果您想将密钥视为标题,可以在echo“< table>”之后添加代码;线:

echo "<tr>";
foreach($myarray as $key => $element) echo "<td>$key</td>";
echo "</tr>";

结果如下:

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...