получить значение внутри объекта в массиве

У меня есть массив, содержащий объект. Мне нужно значение свойства первого объекта, но каким-то образом я получаю пустое значение.

Мой массив $params (из print_r) выглядит так:

Array
(
[newOrderStatus] => OrderState Object
(
[name] => Canceled
[template] => order_canceled
[send_email] => 1
...

Вырезать здесь, есть еще два объекта в этом массиве.

Теперь, если я сделаю: echo $params[0]->name Я получаю пустой результат.

Также попробовал print_r($params[0], true);пустой результат.

Также пробовал, пустой результат:

$status = $params[0];
echo $status->name;

Что я здесь не так делаю?

заранее спасибо

0

Решение

Вам нужно получить доступ к объекту следующим образом

$params['newOrderStatus'];

В приведенном выше объекте у вас будут все дочерние объекты, чтобы вы могли получить к ним доступ, выполнив

$params['newOrderStatus']->name;
$params['newOrderStatus']->template;
1

Другие решения

Ну, как вы сказали, ваш массив выглядит так:

Array
(
[newOrderStatus] => OrderState Object
(
[name] => Canceled
[template] => order_canceled
[send_email] => 1
...

Так нет $param[0], ты должен сделать $param['newOrderStatus'] и тогда получите то, что вы хотите: $param['newOrderStatus']->name

2

Ваш массив $params имеет ключ под названием newOrderStatus который имеет объект в качестве значения, которое вы ищете.

Глядя на ваш пример, есть значение для индекса 0.

Чтобы получить значение свойства name, вы можете использовать:

$params['newOrderStatus']->name

1

Вы можете набрать приведение к массиву следующим образом:

$array =  (array) $yourObject;
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector