一个简单的谷歌搜索将揭示使用
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中可用.如果你需要它们,你就拥有它们.
原文链接:https://www.f2er.com/php/138740.html代码:
$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>";
结果如下: