Как мне получить доступ к определенным элементам многомерного массива PHP?

#php #arrays #multidimensional-array

#php #массивы #многомерный массив

Вопрос:

У меня есть следующий многомерный массив.

Многомерный массив с тегами quot;Prequot; скриншот

Я запустил цикл 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'];
}
  

Это может решить вашу проблему.