Как использовать foreach для создания переменных из многомерного массива

Я пытаюсь создать переменные из многомерного массива с помощью foreach, но не могу получить доступ к вложенным массивам.

Я попытался снова использовать foreach в моей текущей команде foreach, но я думаю, что что-то в формате массива не позволит мне это сделать.

PHP:

$response = curl_exec($cURL);

$result = json_decode($response, true);

$someArray = $result;
foreach ($someArray as $key => $value) {;
}

curl_close($cURL);

print $value["registration"];
print $value["make"];
print $value["model"];
print $value["fuelType"];
print $value["primaryColour"];

Именно так я получаю массив. Я могу создать переменные для регистрации, изготовления, модели, firstUsedDate, FuelType и primaryColour.

array(
    [0] => array(
        [registration]  => DU11LVA
        [make]          => MINI
        [model]         => MINI(R57)
        [firstUsedDate] => 2011.03.05
        [fuelType]      => Diesel
        [primaryColour] => White

        [motTests]      => array(

            [0] => array(
                [completedDate]  => 2018.04.1116:00:30
                [testResult]     => PASSED
                [expiryDate]     => 2019.04.10
                [odometerValue]  => 45283
                [odometerUnit]   => mi
                [motTestNumber]  => 138359719457

                [rfrAndComments] => array(
                    [0] => array(
                        [text] => Nearside Front Road wheel with a slightly distorted bead rim INSIDE (4.2.A.1a) 
                        [type] => ADVISORY)))

            [1] => array(
                [completedDate]  => 2018.04.1110:22:54
                [testResult]     => FAILED
                [odometerValue]  => 45283
                [odometerUnit]   => mi
                [motTestNumber]  => 652014545840

                [rfrAndComments] => array(
                    [0] => array(
                        [text] => Nearside Front Road wheel with a slightly distorted bead rim INSIDE (4.2.A.1a) 
                        [type] => ADVISORY)
                    [1] => array(
                        [text] => Nearside Front Shock absorber has a serious fluid leak (2.7.3) 
                        [type] => FAIL)))

            [2] => array(
                [completedDate]  => 2017.04.0610:27:08
                [testResult]     => PASSED
                [expiryDate]     => 2018.04.08
                [odometerValue]  => 37579
                [odometerUnit]   => mi
                [motTestNumber]  => 605834707501

                [rfrAndComments] => array())

Я пытаюсь получить expiryDate и odometerValue.

Я пытаюсь получить expiryDate и odometerValue. это ваш вопрос?
Rahul 09.04.2019 11:31

Это странный способ использования foreach для доступа к массиву, который я когда-либо видел.

RiggsFolly 09.04.2019 11:38

Вы должны научиться использовать foreach php.net/manual/fr/control-structures.foreach.php

Fky 09.04.2019 11:40

если вы хотите настроить таргетинг на какой-либо конкретный элемент, например. expiryDate или odometerValue, просто посмотрите на структуру массива с помощью print_r() или var_dump() и следуйте дорожка к своей цели, например. echo $someArray[0]['motTests'][0]['expiryDate']; или echo $someArray[0]['motTests'][0]['odometerValue'];

jibsteroos 09.04.2019 12:05
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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
4
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть массив, который содержит другие массивы, поэтому сохраняйте его простым и просто используйте циклы foreach, когда когда-либо вам нужно что-то из внутреннего массива, вы запускаете другой цикл foreach для его обработки.

Кроме того, код, использующий обработку цикла, должен находиться внутри foreach и не кодироваться после него.

$response = curl_exec($cURL);

$result = json_decode($response, true);
curl_close($cURL);

foreach ($result as $value) {    

    print $value["registration"];
    print $value["make"];
    print $value["model"];
    print $value["fuelType"];
    print $value["primaryColour"];

    foreach ($value['motTests'] as $mot) {
        print $mot['expiryDate'];
        print $mot['odometerValue'];
    }
}

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