Разбить строку PHP

Всем привет !

На мой запрос сервер возвращает мне такую строку:

[{"id":"352","name":"Сырники из тофу","category":"Завтрак","time":"10:00"},{"id":"355","name":"Овсяная каша","category":"Завтрак","time":"10:00"},{"id":"350","name":"Кефир","category":"Завтрак","time":"10:00"},{"id":"356","name":"Морковный фреш","category":"Завтрак","time":"10:00"},{"id":"359","name":"Салат из помидоров","category":"Обед","time":"14:00"},{"id":"360","name":"Куриный суп с лапшой","category":"Обед","time":"14:00"},{"id":"363","name":"Котлеты из курицы с салатом","category":"Обед","time":"14:00"},{"id":"365","name":"Салат из Десяти фруктов","category":"Обед","time":"14:00"},{"id":"366","name":"Морс Лесные ягоды","category":"Обед","time":"14:00"},{"id":"358","name":"Салат с индейкой","category":"Ужин","time":"20:00"},{"id":"362","name":"Куриная грудка с салатом","category":"Ужин","time":"20:00"},{"id":"364","name":"Тонкий яблочный пирог","category":"Ужин","time":"20:00"},{"id":"367","name":"Морс клюквенный","category":"Ужин","time":"20:00"}]

Мне нужно разбить ее на 3 отдельные строки: Отдельно завтрак, обед и ужин. Нужна помощь :)


Ответы (1 шт):

Автор решения: Node_pro

Это JSON формат. Для того, чтобы его распарсить в php используем функцию json_decode().

$arr = json_decode($json, true);
$res = [];

if (is_array($arr)) {
    foreach ($arr as $v) {
        if (!isset($res[$v['category']])) {
             $res[$v['category']] = [];
        }
        $res[$v['category']][] = $v;
    }
}
→ Ссылка