Метод toArray () возвращает чистый массив. В то время как ключи json_decode () всегда являются строками, а значение может быть строкой, числом, истиной или ложью, нулем или даже объектом или массивом.
Поэтому вы пытаетесь получить доступ к объекту, возвращенному json_decode. который работает, если у вас есть объекты во время его кодирования. Но, пытаясь получить доступ к объекту с точки зрения массива, он не будет работать, потому что массивы являются простым массивом.
Объяснение функции Json_decode ()
PHP json_decode принимает строку JSON и преобразует ее в переменную PHP. Как правило, данные JSON представляют массив или литерал объекта JavaScript, который json_decode преобразует в массив или объект PHP.
Объяснение массива PHP выходит за рамки этой области. Однако:
Массив в PHP на самом деле является упорядоченной картой. Карта - это тип, который связывает значения с ключами. Этот тип оптимизирован для нескольких различных применений; это может быть обработано как массив, список (вектор), таблица ha sh (реализация карты), словарь, коллекция, стек, очередь и, возможно, больше. Поскольку значения массива могут быть другими массивами, деревья и многомерные массивы также возможны.
Наконец, вы пытаетесь получить доступ к объекту, возвращенному json_decode - работает нормально. Но массив не будет содержать объекты таким образом, что он выбрасывает это, пытаясь получить свойство не-объекта.