Как декодировать объект Json в laravel и применять цикл foreach на этом в laravel

Я получаю этот запрос.

 { "area": [
        {
            "area": "kothrud"
        },
        {
            "area": "katraj"
        }
    ]
}

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

Ответ 1

Ваша строка НЕ ​​является действительным json для начала.

действительный json будет,

{
    "area": [
        {
            "area": "kothrud"
        },
        {
            "area": "katraj"
        }
    ]
}

если вы выполните json_decode, он даст,

stdClass Object
(
    [area] => Array
        (
            [0] => stdClass Object
                (
                    [area] => kothrud
                )

            [1] => stdClass Object
                (
                    [area] => katraj
                )

        )

)

Обновление: для использования

$string = '

{
    "area": [
        {
            "area": "kothrud"
        },
        {
            "area": "katraj"
        }
    ]
}

';
            $area = json_decode($string, true);

            foreach($area['area'] as $i => $v)
            {
                echo $v['area'].'<br/>';
            }

Вывод:

kothrud
katraj

Обновление # 2:

для этого true:

Когда TRUE, возвращенные объекты будут преобразованы в ассоциативные массивы. для получения дополнительной информации нажмите здесь

Ответ 2

вы можете использовать функцию json_decode

foreach (json_decode($response) as $area)
{
 print_r($area); // this is your area from json response
}

Смотрите скрипка