Ошибка: Cannot use object of type stdClass as array, при получении значения из JSON массива

203
18 ноября 2020, 12:50

Есть такой JSON:

stdClass::__set_state(array(
  '1' => 
 stdClass::__set_state(array(
  'home' => '0',
  'away' => '0',
 )),
))

Хочу получить значение home:

echo $array['1']->home;

Но получаю ошибку:

Fatal error: Cannot use object of type stdClass as array

Answer 1

Как уже сказал @ArchDemon, у вас не массив, а объект. Он имеет подобную структуру:

$array = (object) ['1' => (object) ['home' => 'Значение']];

Можно получить "Значение" при правильном обращении к объекту:

echo $array->{'1'}->home;

Либо же преобразовать объект в массив и обратиться:

$array = (object) ['1' => (object) ['home' => 'Значение']];
$array = (array) $array;
echo $array['1']->home;
READ ALSO
Почему не работает кастомная валидация Laravel Validator?

Почему не работает кастомная валидация Laravel Validator?

Есть кастомное правило для проверки датыВсе по документации Laravel, но при этом не срабатывает и всегда возвращает, что ошибок нет

182
Вывод названия выбранной категории laravel

Вывод названия выбранной категории laravel

Ребят подскажите как работает принцип вывода названия категорииДелал так, неполучилось, возможно неправильную таблицу создал в БД

179
Не записываются данные в БД с применением jquery ajax php

Не записываются данные в БД с применением jquery ajax php

Подскажите, пожалуйста, почему не записываются данные с формы в БД? Вот код js

165
не передаются переменные из html в php

не передаются переменные из html в php

передаю две переменные в kat11php

138