<? 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 - это структура, то для извлечения произвольного поля нужно написать рекурсивную функцию, которая будет перебирать всё "дерево" и находить нужное значение. Или явно указывать нужное через цепочку "->" корректно задавая путь по "дереву" к нужному узлу.