【发布时间】:2015-03-16 21:30:08
【问题描述】:
我已经准备好为这个发疯了。我似乎无法弄清楚如何打印出数组的元素,然后将所有结果放在一行上(带有特定的输出)。
这是我的数组数据(通过foreach 语句运行后:
Array
(
[hostname] => server01
[server_id] => 4
[disk_mountpoint] => /
[disk_datetime] => 1426395600
[disk_device] => /dev/mapper/VolGroup00-LogVol00
[disk_capacity] => 15G
[disk_used] => 5.3G
)
Array
(
[hostname] => server01
[server_id] => 4
[disk_mountpoint] => /var
[disk_datetime] => 1426395600
[disk_device] => /dev/mapper/VolGroup01-LogVol00
[disk_capacity] => 107G
[disk_used] => 52G
)
Array
(
[hostname] => server01
[server_id] => 4
[disk_mountpoint] => /opt
[disk_datetime] => 1426395600
[disk_device] => /dev/mapper/VolGroup02-LogVol00
[disk_capacity] => 156G
[disk_used] => 127G
)
这是我的foreach 声明:
foreach ($storage_report as $item) {
print_r($item);
}
我花了几个小时试图围绕一个多维数组以及查看其他人在 StackOverflow 上的一些问题,但似乎没有什么适合我正在尝试做的事情。
顺便说一句,上面的数组实际上是从 MySQL 查询中输出的,它只返回一个唯一的hostname,因此它与元素具有相同的主机名,这是正确的(与 server_id 相同)。
我什至尝试了一个嵌套的foreach 循环,但效果不佳,我再次感到困惑,所以我不想在这里发布。
基本上,有了上面的数据,我希望输出看起来像:
$disk_mountpoint = $disk_used
话虽如此,最终输出(如果您要解析我刚刚写的内容),最终输出将如下所示:
/ = 5.3G
/var = 52G
/opt = 127G
我觉得我把事情复杂化了,想知道是否有人能指出我正确的方向并帮助我。
谢谢! 画了
【问题讨论】:
标签: php arrays multidimensional-array foreach