PHP“Cannot use object of type stdClass as array”

php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误 

错误: 
Cannot use object of type stdClass as array 

产生原因: 
+展开 
-PHP 
    $res = json_decode($res); 

    $res['key']; 
//把 json_decode() 后的对象当作数组使用。 


解决方法(2种): 
1、使用 json_decode($d, true)。就是使json_decode 的第二个变量设置为 true。 
2、json_decode($res) 返回的是一个对象, 不可以使用 $res['key'] 进行访问, 换成 $res->key 就可以了。 

mixed json_decode ( string $json [, bool $assoc ] ) 
接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 

参数 

json 
待解码的 json string 格式的字符串。 

assoc 
当该参数为 TRUE 时,将返回 array 而非 object 。

posted @ 2015-06-03 10:15  琥珀的blog  阅读(181)  评论(0)    收藏  举报