Php массив foreach внутри массива

Итак, в настоящее время я использую XenForo для чтения значений из массива внутри массива, однако при использовании этого кода у меня возникают проблемы с последним foreach. ErrorException: Invalid argument supplied for foreach()

Множество

{
  "data": {
    "type": "server",
    "id": "121",
    "attributes": {
      "name": "1",
      "ip": "127.0.0.1",
      "port": 4000,
    },
  },
}

Это мой foreach (который получает раздел «атрибуты» указанного выше массива).

foreach($json_array as $key => $arrays){
    foreach($arrays as $array){
        foreach($array as $key => $value){
            $data[$key] = $value;
        }
    }
}

Кто-нибудь знает, есть ли лучший способ просто получить следующие значения?

$value['name']
$value['ip']
$value['port']
foreach($json_array['data']['attributes'] as $key => $value). Ваша проблема в том, что ваш код использует значения без массива, такие как "server" в foreach
Phil 20.09.2018 04:09

какой foreach следует изменить? первый второй третий? или переделать весь foreach?

Dibbs 20.09.2018 04:38
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
239
3

Ответы 3

Довольно просто. Чтобы получить атрибуты данного массива, вы можете попробовать приведенный выше код. Нет необходимости зацикливать массив, просто используйте метод $ array [key] для получения целевого значения.

$data = $json_array['data']['attributes']

Попробуйте так:

$data['name'] = $json_array['data']['attributes']['name'];
$data['ip'] = $json_array['data']['attributes']['ip'];
$data['port'] = $json_array['data']['attributes']['port'];

Если вы хотите зациклить:

foreach($json_array['data']['attributes'] as $key => $value){
  print_r($value);
}

Я бы сказал, что $key также важен в цикле

Phil 20.09.2018 05:36

Другие вопросы по теме