Php 在表列中打印多维数组数据
我一整天都在努力,但没有达到预期的效果。我想使用PHP在HTML表中打印多维数组列方式,但当我尝试获取数据列方式时,获取数据行或获取列中的数据Php 在表列中打印多维数组数据,php,html,arrays,html-table,Php,Html,Arrays,Html Table,我一整天都在努力,但没有达到预期的效果。我想使用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 $c
<?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);
}
基本上,您只需要切换列索引和行索引。然后像以前一样循环。因此,您需要对所有条目进行两次检查
$result = array
(
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
$out = array();
foreach($result as $cdx => $col)
{
foreach($col as $idx => $val)
{
// swap the column index with the row index
$out[$idx][$cdx] = $val;
}
}
$final = "";
foreach($out as $row)
{
foreach($row as $col)
{
$final .= ($col . ", ");
}
$final = substr($final, 0, -2);
$final .= "\r\n";
}
$final = trim($final);
echo $final;
另一个想法是创建行和列,然后用于行和列:
$columns = [];
$rows = [];
foreach ($result as $row) {
foreach($row as $key => $column) {
$key === 0 ? $columns[] = $row[$key] : $rows[$key][] = $row[$key];
}
}
echo implode("--", $columns) . "<br>";
foreach ($rows as $row) {
echo implode("--", $row) . "<br>";
}
太多东西了:几周前,同样的问题(完全相同的数据)被问到并回答了。这看起来像是一个家庭作业。
$result = array
(
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
$out = array();
foreach($result as $cdx => $col)
{
foreach($col as $idx => $val)
{
// swap the column index with the row index
$out[$idx][$cdx] = $val;
}
}
$final = "";
foreach($out as $row)
{
foreach($row as $col)
{
$final .= ($col . ", ");
}
$final = substr($final, 0, -2);
$final .= "\r\n";
}
$final = trim($final);
echo $final;
$columns = [];
$rows = [];
foreach ($result as $row) {
foreach($row as $key => $column) {
$key === 0 ? $columns[] = $row[$key] : $rows[$key][] = $row[$key];
}
}
echo implode("--", $columns) . "<br>";
foreach ($rows as $row) {
echo implode("--", $row) . "<br>";
}
Volvo--BMW--Saab--Land Rover
22--15--5--17
18--13--2--15