Есть массив. Каждый элемент массива представляет собой объект с двумя полями. Пример
[{"type": "photo", "photo": {photo}}, {"type": "audio", "audio": {audio}}]
Как мне из этого получить поля объектов: type и photo (или audio, без разницы)?
$a['type'] не получается
Вы привели строку просто для демонстрации? Вообще к свойствам объекта обращаются так:
$a->type
Соответственно из массива
$ar[0]->type
Как то так:
$obj_array = json_decode('[{"type": "photo", "photo": {"some": "content"}}, {"type": "audio", "audio": {"some": "content"}}]');
print_r($obj_array);
$reult = array();
foreach($obj_array as $obj) {
$type = $obj->type;
$reult[$obj->type] = $obj->$type;
}
print_r($reult);
Вывод:
Array
(
[0] => stdClass Object
(
[type] => photo
[photo] => stdClass Object
(
[some] => content
)
)
[1] => stdClass Object
(
[type] => audio
[audio] => stdClass Object
(
[some] => content
)
)
)
Array
(
[photo] => stdClass Object
(
[some] => content
)
[audio] => stdClass Object
(
[some] => content
)
)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Собираюсь скриптом php отправлять AT команду usb модему на получение баланса по ussdС командами разобрался, ответ тоже получаю (но зашифрованный)
не получается авторизоваться в facebook с помощью CURL'а