Не могу сделать вывод из JSON запроса на php?

В общем всё просто но в тоже время не могу сделать вывод вод кусок json результата
5b5ca7533758e417916162.jpeg

Подключился соответственно к json
Для того что бы вывести в php делаю через foreach

<?php foreach($data as $a): ?>
<?= $a->number ?>
<?php endforeach; ?>


Но не получается вывести строку number
Помогите может кто подскажет как правильно, может я что-то не то делаю? Заранее благодарен!
  • Вопрос задан
  • 782 просмотра
Решения вопроса 1
DevMan
@DevMan
так вам итерировать нечего - у вас всего один объект, а не массив объектов.
форич на одном объекте прост перебирает его свойства и $a->number приведет к фаталу (ибо не является объектом).

в вашем случае нужно весь код заменить на просто <?= $data->number ?>
для наглядности - https://ideone.com/VM6kdT
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
<? var_dump($data->number); ?>Так работает.
Значит и так тоже до первого объекта:
<?php foreach($data as $a): ?>
<?= $a ?>
<?php endforeach; ?>

Поэтому упрощённо - такая версия (все объекты делаем json-ами):
<?php foreach($data as $k=>$a): ?>
<?=(is_string($a))?"$k=>$a<br>":"$k=>".json_encode($a)."<br>" ?>
<?php endforeach; ?>

По-скольку json - это структура, то для извлечения произвольного поля нужно написать рекурсивную функцию, которая будет перебирать всё "дерево" и находить нужное значение. Или явно указывать нужное через цепочку "->" корректно задавая путь по "дереву" к нужному узлу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы