如果属性比较困难,如何访问变量的属性

时间:2018-09-30 07:18:57

标签: php laravel laravel-5

如何访问此类数据的属性:下面的数据放入$ live变量中。

    $live =  =array:17 [▼
        "sensex" => {#1130 ▼
        +"code": "200"
        +"message": "Success"
        +"data": {#1131 ▼
            +"HIGH": "36551.86"
        }
      }
         "nifty_50" => {#1132 ▶}
         "nasdaq" => {#1134 ▶}

我正在尝试为php中的$live变量访问'HIGH'属性的值。我已经尝试使用下面的代码,但是它给了我错误:

$live->sensex->data;

错误:

  

试图获取非对象的属性“ sensex”

已编辑

我正在尝试访问$live的数据结构数据,

$data =
    {#1139 ▼
        +"chart": {#1138 ▼
            +"result": array:1 [▼
                0 => {#1135 ▼
                    +"meta": {#1129 ▶}
                    +"timestamp": array:195 [▶]
                    +"indicators": {#1137 ▼
                        +"quote": array:1 [▼
                            0 => {#1136 ▼
                                +"open": array:195 [▶]
                                +"close": array:195 [▶]
                                +"high": array:195 [▶]
                                +"volume": array:195 [▶]
                                +"low": array:195 [▶]
                           }
                       ]
                    }
                }
            ]
            +"error": null
        }
    }

现在如何直接访问 +"open": array:195

4 个答案:

答案 0 :(得分:3)

看起来像一个关联数组,那么您将通过以下方式获得获取值:

$live["sensex"] // etc.

答案 1 :(得分:1)

您需要使用数组语法

$live['sensex']->data;

答案 2 :(得分:1)

要访问数组的index,您需要使用['particular_index_name']

要访问property中的object,您需要使用->particular_property_name

在您的情况下,$livearraysensex是对象,data也是对象。

所以。访问HIGH

的值
$live['sensex']->data->HIGH;

答案 3 :(得分:1)

这里$live是一个数组。实际上,它是一个关联数组。 'sensex'是一类。 从关联数组获取值的语法:

$var_name["key_name"];

对于Std类,语法为:

$class_name->proparty_name

但是,我们可以使用关联数组语法从Std类获取proparty值。所以。

$class_name["proparty_name"] is also Valid.

对于您的情况,您可以同时使用:

$live["sensex"]->data->HIGH
$live["sensex"]["data"]->HIGH
$live["sensex"]["data"]["HIGH"]