У меня есть следующий массив:
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", но ни одна из них не работает. Что я делаю неправильно?
Благодарю!
Непонятно, почему вы хотите это сделать, но 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_values
или array_keys
.
Я думаю, вам нужно идти с циклом foreach, это сработает для вас.
foreach($printers as $key => $value){
echo $key.'<br />';
}
это напечатает весь ваш ключ, если вам нужно использовать определенное значение ключа, которое вы можете установить в переменной согласно вашему требованию.