获取数组中对象内的值

get value within object in an array

我有一个数组,其中包含一个对象。我需要第一个对象的 属性 的值,但不知何故我得到一个空值。

我的数组 $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;

我做错了什么?

提前致谢

您可以像这样将其类型转换为数组:

$array =  (array) $yourObject;

您的数组 $params 有一个名为 newOrderStatus 的键,该键将对象作为您要查找的值。

查看您的示例,索引 0 有值。

要获取名称 属性 的值,您可以使用:

$params['newOrderStatus']->name

您需要按如下方式访问对象

$params['newOrderStatus'];

在上面的对象中,您将拥有所有子对象,因此您可以通过以下方式访问它们

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

好吧,正如您所说,您的数组如下所示:

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

所以没有$param[0],你应该$param['newOrderStatus']然后得到你想要的:$param['newOrderStatus']->name