php - 在表格列中打印多维数组数据
问题描述
我整天尝试了很多,但没有得到预期的输出。我想使用 PHP 在 HTML 表中打印多维数组列方式,但是当我尝试获取数据列方式时,获取数据行或在列中获取数据。
<?php
$result = array
(
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
foreach($result as $row){
foreach($row as $column){
echo $column . ",<br>";
}
echo "</br>";
}
?>
得到这个输出:
沃尔沃
22
18
宝马
15
13
萨博
5
2
路虎
17
15
但是我怎样才能以 3 列方式获取此输出列 3 数组数据,如
沃尔沃 -- 宝马 -- 萨博
22 - - 15 - - 5
18 - - 13 - - 2
解决方案
您可以使用下一个想法:
$ar[] = array_column($result,0);
$ar[] = array_column($result,1);
$ar[] = array_column($result,2);
这一步可以优化为
for($i=0;$i<count($result[0]);$i++){
$ar[] = array_column($result,$i);
}
然后做
foreach($ar as $col){
echo '<tr><td>'.$col[0].'</td><td>'.$col[1].'</td><td>'.$col[2].'</td><td>'.$col[3].'</td></tr>';
}
或者使用额外for loop
的,优化的:
foreach($ar as $col){
echo '<tr>';
for($i=0;$i<count($col);$i++){
echo '<td>'.$col[$i].'</td>';
}
echo '</tr>';
}
推荐阅读
- azure - ARM模板中的Concat对象和字符串
- prometheus - 如何将 Prometheus 警报发送给两个不同的警报管理器
- java - 如果 @RequestBody 中不存在布尔值,则将其设置为 false
- php - 如何将字符串中的中文字符移动到字符串的末尾?
- android - 在 RecyclerView 中清除了 EditText onSubmit 函数
- python - 使用 dask 在网格上广播并行函数的问题
- python - 提供保存我的模型的路径。(/content/drive/My Drive/training) ,但“我的驱动器”中的空间会引发错误
- google-apps-script - 如何使用谷歌应用脚本从单独的数据构建日期?
- node.js - Electron 作为 Web 浏览器的安全隐患
- powershell - 用于修改 zip 文件夹中的 .dat 文件的 Powershell 脚本