#php #arrays #multidimensional-array
#php #массивы #многомерный массив
Вопрос:
У меня есть следующий многомерный массив.
Я запустил цикл foreach и пытаюсь повторить клиентские псевдонимы 2 пользователей. Код, который я запускаю, выглядит следующим образом.
$client_r = $Ts3->clientList();
foreach ($client_r as $client)
{
echo $client['data']['client_nickname'];
}
Что я делаю не так?
Комментарии:
1. предполагая, что ваше изображение — это то, что находится
$client_r
только в одной итерации вашего for each, будут данные из вашего элемента данных, поэтому не будет$client['data']
. если вы хотите получить отдельные псевдонимы клиентов, вам нужно выполнить foreach$client_r['data']
, а затем получить доступ с помощью$client['client_nickname'];
Ответ №1:
Попробуйте это:
foreach ($client_r as $client)
{
echo $client['data'][0]['client_nickname'];
echo $client['data'][1]['client_nickname'];
// As there are further arrays inside array, so you have to include the index also
}
Комментарии:
1. предполагая, что изображение в ссылке вопроса
$client_r
не будет работать, потому что за одну итерацию$client
будет$client_r['data']
Ответ №2:
Если вы начнете с data
, то ваш доступ будет легким-
В data у вас снова есть массив, поэтому $client
теперь в нем хранится вложенный массив, теперь вы можете легко получить доступ к вашему client_nickname
.
$client_r = $Ts3->clientList();
foreach ($client_r['data'] as $client){
echo $client['client_nickname'];
}
Это может решить вашу проблему.