【发布时间】:2013-06-03 21:47:37
【问题描述】:
我正在尝试在 php 中将数组打印到 html 表中,但遇到了数组元素数量不同的问题(例如,缺少字段)。
我该如何解决有时数组中缺少一个(或多个)标题元素,因此值最终位于错误标题下的问题?
这是我的代码。我想我需要添加另一个循环以确保所有 $rows 与 $keys 对齐...?
输入数组:
array (size=16)
0=>
'created_by' => string 'me@example.com' (length=31)
'bug_status' => string 'verified' (length=8)
'reported_by' => string 'me@example.com' (length=31)
'modified_ts' => string '1413503800000' (length=13)
'bug_id' => string '123' (length=3)
'bug_severity' => string 'normal' (length=6)
'product' => string 'core graveyard' (length=14)
'bug_version_num' => string '9' (length=1)
'assigned_to' => string 'me@example.com' (length=19)
'op_sys' => string 'windows nt' (length=10)
'_id' => string '123.1217503800000' (length=17)
'component' => string 'viewer app' (length=10)
'modified_by' => string 'nobody@example.org' (length=18)
'priority' => string 'p2' (length=2)
'qa_contact' => string '#unknown' (length=8)
'created_ts' => string '901720800000' (length=12)
这是我的 PHP 代码:
$keys = array_keys($array[0]);
echo "<table><tr><th>".implode("</th><th>", $keys)."</th></tr>";
foreach ($array as $rows) {
if (!is_array($rows))
continue;
echo "<tr><td>".implode("</td><td>", $rows )."</td></tr>";
}
echo "</table>
【问题讨论】:
-
我没有做-1,但是当你运行这个时你会得到什么输出?
-
输入数组是什么样子的?
-
把它变成一个问题以避免被否决。 SO 政策。
-
它输出 HTML,但行中的值并不总是与标题对齐,因为该数组缺少元素。
-
array_pad($input, 16, "");