`
tiandirensoon
  • 浏览: 593988 次
文章分类
社区版块
存档分类
最新评论

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 就可以了。


参考手册:json_decode

Return Values:Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.

分享到:
评论

相关推荐

    PHP错误Cannot use object of type stdClass as array in错误的解决办法

    很多人在PHP输出一个二维数组的时候出现“Fatal error: Cannot use object of type stdClass as array in……”。解决办法分析如下: 现有这样一个二维数组: 复制代码 代码如下:Array ( [0] => stdClass Object ( ...

    PHP JSON出错:Cannot use object of type stdClass as array解决方法

    主要介绍了PHP JSON出错:Cannot use object of type stdClass as array解决方法,需要的朋友可以参考下

    PHP中把stdClass Object转array的几个方法

    复制代码 代码如下://PHP stdClass Object转array function object_array($array) { if(is_object($array)) { $array = (array)$array; } if(is_array($array)) { foreach($array as $key=>$value) { $array[$...

    PHP中遍历stdclass object的实现代码

    需要操作的数据: 复制代码 代码如下: $test =Array ( [0] => stdClass Object ( [tags] => 最快的车,Bloodhound,SSC [id] => 48326888 ) ) 从网上查到的方法是 用get_object_vars 把类类型转换成数组 然后在用 ...

    PHP中STDCLASS用法实例分析

    在WordPress中很多地方使用stdClass来定义一个对象(而通常是用数组的方式),然后使用get_object_vars来把定义的对象『转换』成数组. 如下代码所示: $tanteng = new stdClass(); $tanteng->name = 'tanteng'; $...

    php object转数组示例

    复制代码 代码如下:function std_class_object_to_array($stdclassobject){ $_array = is_object($stdclassobject) ? get_object_vars($stdclassobject) : $stdclassobject;  foreach ($_array as $key => $value)...

    PHP使用new StdClass()创建空对象的方法分析

    PHP可以用 $object = new StdClass(); 创建一个没有成员方法和属性的空对象。 很多时候,程序员们会将一些参数配置项之类的信息放在数组中使用,但是数组操作起来并不是很方便,很多时候使用对象操作符->xxx比数组...

    PHP标准类(stdclass)用法示例

    本文实例讲述了PHP标准类(stdclass)用法。分享给大家供大家参考...object(stdClass)[1] object(stdClass)[1] public 'a' => int 1 public 'b' => int 1 当使用类型转换时,就是使用了标准类 $arr = array('a'=>1);

    从PHP的源码中深入了解stdClass类

    stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。凡是用new stdClass()的变量,都不可能会出现$a->...

    PHP5中新增stdClass 内部保留类

    stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL,可以使用其传递变量参数,但是没有可以调用的方法。stdClass类可以被继承,只是这样做没有什么意义。 该类是PHP...

    理解PHP中的stdClass类

    主要介绍了PHP中的stdClass类,用白话介绍了stdClass类,需要的朋友可以参考下

    php中stdClass的用法分析

    主要介绍了php中stdClass的用法,实例分析了stdClass的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    php_memcache 服务扩展

    $tmp_object = new stdClass; $tmp_object->str_attr = "test"; $tmp_object->int_attr = 123; $memcache->set("key",$tmp_object,false,10); echo "Store data in the cache (data will expire in 10 seconds)\n"; ...

Global site tag (gtag.js) - Google Analytics