`

Cannot use object of type stdClass as array

    博客分类:
  • php
阅读更多
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 。
分享到:
评论

相关推荐

    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解决方法

    Cannot use object of type stdClass as array 产生原因: 复制代码 代码如下: $res = json_decode($res); $res[‘key’]; //把 json_decode() 后的对象当作数组使用。 解决方法(2种): 1、使用 json_decode($d, ...

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

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

    PHP中遍历stdclass object的实现代码

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

    php object转数组示例

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

    PHP中STDCLASS用法实例分析

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

    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->...

    理解PHP中的stdClass类

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

    php中stdClass的用法分析

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

    PHP5中新增stdClass 内部保留类

    stdClass类可以被继承,只是这样做没有什么意义。 该类是PHP的保留类,并不是所有类的基类。 复制代码 代码如下: <?php class foo {} $bar = new foo(); echo $bar instanceof stdClass?’yes’:’no’; //output...

    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"; ...

    memcache.dll(5.2/5.3/5.4/5.5)

    $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)\...

    php对象和数组相互转换的方法

    分享给大家供大家参考。具体分析如下: ... function array2object($array) { ... foreach ($array as $key => $val){ $obj->$key = $val; } } else { $obj = $array; } return $obj; } function object2array($obj

Global site tag (gtag.js) - Google Analytics