PHP Как вывести содержимое массива

Функция возвращает массив следующего типа:

Array ( [0] => stdClass Object ( [post_id] => 48 

Я хочу отобразить содержимое массива, поэтому я попытался использовать следующий цикл foreach:

foreach ($posts as $post){
    echo $post['post_id'];
}

Но я получаю следующую ошибку:

Неустранимая ошибка: невозможно использовать объект типа stdClass в качестве массива в

3 ответа

Решение

У вас есть массив объектов. Итак, вам нужно изменить:

echo $post['post_id'];

Для того, чтобы:

echo $post->post_id;

Теперь вы печатаете свойство объекта post_id,

Если вы ищете выходной массив или информацию об объекте для чего-то вроде отладки, вы можете сделать это:

echo '<pre>';
print_r($object);
echo '</pre>';

Это должно работать для массивов или объектов.

Кроме того, я считаю, что у объектов в PHP 5 есть магический метод "to_array", который может конвертировать объект в массив данных.

Надеюсь, это поможет!

Если вы хотите выводить данные в целях отладки, вы можете использовать print_r или var_dump, что более подробно о вашем объекте.

Другие вопросы по тегам