从php中的std对象获取数组值

时间:2018-01-02 13:07:31

标签: php arrays

我有一个如下所示的数组。我想提取值。请帮帮我。但这不会打印任何东西。请帮助我。任何帮助将不胜感激。可能你都发现这个问题类似。但我找不到任何答案,因为这是我们查找数组值的方式。

    Array
    (
    [0] => stdClass Object
        (
            [bHeader] => stdClass Object
                (
                    [ei] => NSE
                    [seg] => I
                )

            [cNetChangeIndicator] => 
            [fClosingIndex] => 10558.5
            [fHighIndexValue] => 10532
            [fIndexValue] => 10469
            [fLowIndexValue] => 10438.5
            [fOpeningIndex] => 10499.5
            [fPercentChange] => -0.85
            [sIndexName] => 962450
            [fChange] => -89.5
            [iIdxId] => 311
        )
)

提前致谢

3 个答案:

答案 0 :(得分:1)

您正在访问数组中的对象,就像它也是一个数组一样。

您需要使用->

访问对象的属性
echo $arr[0]->fIndexValue; 
echo $arr[0]->fChange; 
echo $arr[0]->fPercentChange'; 

例如:

$obj = new stdClass;
$obj->fIndexValue = 10469;

$arr = array();
$arr[0] = $obj;

echo $arr[0]->fIndexValue;

打印“10469”。

答案 1 :(得分:1)

使用

将对象转换为数组
$array =  (array) $yourObject;

如果使用json_decode而不是给第二个参数为真,例如

$array = json_decode($jsonStr,TRUE);

它将返回数组,因此不需要对数组进行类型转换(对流)obj

也使用了运营商' - >'这有助于从对象

获取数据

答案 2 :(得分:0)

尝试使用此方法打印整个内容,假设你的var是$ arr:

print_r($arr);

或变量

print($arr[0]-->fIndexValue);