我有以下数组:
Array
(
[copier-clb009] => Array
(
[status] => Printing
[ping] => PING OK - Packet loss = 0%, RTA = 0.47 ms
[model] => "Xerox WorkCentre 4265"
)
[copier-cor000] => Array
(
[status] => Printing
[ping] => PING OK - Packet loss = 0%, RTA = 0.53 ms
[model] => "Xerox WorkCentre 4265"
)
[printer-001] => Array
(
[status] => Idle
[ping] => PING OK - Packet loss = 0%, RTA = 0.55 ms
[model] => "Xerox Phaser 4600"
)
[printer-002-s1] => Array
(
[status] => Idle
[ping] => PING OK - Packet loss = 0%, RTA = 0.86 ms
[model] => "Xerox WorkCentre 5955 v1 Multifunction System"
)
)
例如,我尝试过:
echo $printers[0];
和
echo array_values($printers)[0];
期望结果为“copier-clb009”,但这些都不起作用。怎么了?
谢谢!
答案 0 :(得分:1)
我认为你必须使用foreach循环,这对你有用。
foreach($printers as $key => $value){
echo $key.'<br />';
}
这将打印您的所有密钥 如果需要使用特定键值,可以根据需要设置变量。
答案 1 :(得分:1)
目前还不清楚你为什么要这样做,但是PHP已经为你提供了一个非常方便的构造来迭代可遍历的对象,比如名为foreach
的数组
foreach($printers as $key => $value) {
echo "$key => \n";
foreach($value as $k => $v) {
echo "$k: $v\n";
}
echo "\n";
}
foreach
构造使您可以访问每次迭代时迭代的每个元素的键和值。所以真的没有必要在这里使用array_values
或array_keys
进行鸡啄。