我有一个像这样的多维数组
Array
(
[0] => Array
(
[name] => Fernando Alonso
[time1] => 3.25
[time2] => 3.25
[time3] => 3.5
)
[1] => Array
(
[name] => Jenson Button
[time1] => 34
[time2] => 34
[time3] => 41
)
)
我想将数据回显到一个表中,目前我正在使用($ result是数组)
foreach ($result as $result) {
echo "<tr>";
foreach ($result as $driver) {
echo "<td>$driver</td>";
}
echo "</tr>";
}
这似乎有点不必要,有没有更好的方法呢?
答案 0 :(得分:4)
执行此类操作的“更好”方法是编写一个可重用的函数来绘制特定的表结构。
没有(和IMO不应该)遍历多维数组的特定函数。原因是理论上可能存在无数个嵌套结构,这会导致不可预测的结果。
该语言为您提供了足够的工具,只要您使用正确的代码结构进行备份,就可以遍历您提供的任何多维数组。
在您的示例中,这将是遍历二维数组的完美方式。我唯一要改变的是不要为数组和foreach
循环中的元素使用相同的名称:
foreach ($result as $result) {} // WRONG
而是使用不同的变量:
foreach ($results as $result) {} // RIGHT
答案 1 :(得分:3)
你想要这样做吗?
<table width="100%">
<thead>
<tr>
<th>Name</th>
<th>Time 1</th>
<th>Time 2</th>
<th>Time 3</th>
</tr>
</thead>
<tbody>
<?php foreach ($result as $row): ?>
<tr>
<td><?php echo $row['name'];?></td>
<td><?php echo $row['time1'];?></td>
<td><?php echo $row['time2'];?></td>
<td><?php echo $row['time3'];?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
答案 2 :(得分:0)
这是我经常使用的代码:
// Simple call :
echo '<pre>' . var_export($var, true) . '</pre>';
// Or as a function :
function var_str_repr($var, $as_html = true) {
$repr = var_export($var, true);
if ($as_html) {
return '<pre>' . $repr . '</pre>';
} else {
return $repr;
}
}
有关详细信息,请参阅var_export文档。
答案 3 :(得分:-1)
使用php的print_r函数。
$arr = ...;
echo "<pre>";
print_r($arr);
echo "</pre>";
这不会显示在表格中。我不认为有一个内置函数来在表中显示数组。你必须为此编写一个简单的函数。问题中提供的代码很简单,可以完成任务。