PHP JSON出错:Cannot use object of type stdClass as array解决方法
php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误:
Cannot use object of type stdClass as array
产生原因:
$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 就可以了。
相关推荐
-
PHP标准类(stdclass)用法示例
本文实例讲述了PHP标准类(stdclass)用法.分享给大家供大家参考,具体如下: php是内置标准类的(stdclass) <?php $obj = new stdclass(); echo '<pre>'; var_dump($obj); $obj->a = 1; $obj->b = 1; var_dump($obj); 运行结果如下: object(stdClass)[1] object(stdClass)[1] public 'a' => int 1 publ
-
PHP中STDCLASS用法实例分析
本文实例讲述了PHP中STDCLASS用法.分享给大家供大家参考,具体如下: PHP中STDCLASS在我们开发应用中使用到的不多,但是PHP中STDCLASS作用是非常的大的,下面我们一起来看PHP中STDCLASS的用法. 在WordPress中很多地方使用stdClass来定义一个对象(而通常是用数组的方式),然后使用get_object_vars来把定义的对象『转换』成数组. 如下代码所示: $tanteng = new stdClass(); $tanteng->name = 'tan
-
理解PHP中的stdClass类
相信大家跟我一样,会经常看到和下面很类似的PHP代码: 复制代码 代码如下: $user = new stdClass();$user->name = 'gouki'; 这样的代码,这是干嘛用的呢?翻开手册,搜索stdClass,你会发现,手册上几乎没有介绍,如果你再次搜索google,看到的也几乎全是英文解释.其实,stdClass在PHP5才开始被流行.而stdClass也是zend的一个保留类.似乎没有其他作用.也几乎没有任何说明.或者,我们可以这么理解:stdClass是PHP的一个基类
-
PHP中遍历stdclass object的实现代码
需要操作的数据: 复制代码 代码如下: $test =Array ( [0] => stdClass Object ( [tags] => 最快的车,Bloodhound,SSC [id] => 48326888 ) ) 从网上查到的方法是 用get_object_vars 把类类型转换成数组 然后在用 foreach 遍历即可 $array = get_object_vars($test);
-
php中stdClass的用法分析
本文实例分析了php中stdClass的用法.分享给大家供大家参考.具体分析如下: stdclass在php中是预定义的几个类之一,是zent保留的一个类.实际上它是PHP提供的一个基类,就是一个空白的类,里面什么都没有,我们可以实例化它,然后定义一系列的变量,通过它来进行变量的传递(很多php程序员用它来传递一系列变量的值,而同时又懒得去创建一个自己的类).但是,由于实例化后不能添加方法,只能传递属性.因为,一旦类被实列化以后,就不能在添加方法了. stdclass可以作为基类使用,其最大特点
-
PHP5中新增stdClass 内部保留类
stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL,可以使用其传递变量参数,但是没有可以调用的方法.stdClass类可以被继承,只是这样做没有什么意义. 该类是PHP的保留类,并不是所有类的基类. 复制代码 代码如下: <?php class foo {} $bar = new foo(); echo $bar instanceof stdClass?'yes':'no'; //output:no 另外一个例子: 复制代码 代码如下:
-
一个ASP创建动态对象的工厂类(类似PHP的stdClass)
最近整理ASP/VBScript代码,发现过去的一个ASP实现的MVC框架,可惜是个半成品,效率也成问题,不过发现里面有些我写的代码,感觉还稍稍可以拿出来见人,于是今天作此文以记之. 说是ASP,其实和VBScript也脱不了干系,VBScript语言传承于Visual Basic,VB的语法灵活度已经不尽如人意了,VBS作为其子集可想而知.神马反射.自省等先进的技术,微软在.NET中才引入.作为被抛弃的技术,也不奢望微软能够提供支持,于是顽固守旧的程序员只有绞尽脑汁的去模仿实现一些类似的功能.
-
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[$key] = 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 ( [id] => 1 [title] => 招聘信息 [size] => 300*150 [pic] => ./upload/201406020
-
从PHP的源码中深入了解stdClass类
在百度百科中,对于stdClass的定义如下: 复制代码 代码如下: stdClass在PHP5才开始被流行.而stdClass也是zend的一个保留类.stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object.同时,这个基类又有一个特殊的地方,就是没有方法.凡是用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用.PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资
随机推荐
- 利用Vue v-model实现一个自定义的表单组件
- jQuery.prop() 使用详解
- jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
- win2008 64w位系统上iis运行32位的网站程序(iis7.5开启32位)
- JTrackBar水平拖动效果
- php读取javascript设置的cookies的代码
- jQuery布局插件UI Layout简介及使用方法
- xml分页+ajax请求数据源+dom取结果实例代码
- sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法
- mysql alter table 修改表命令详细介绍
- 详解如何备份及恢复 Linux 文件权限
- Java concurrency线程池之线程池原理(四)_动力节点Java学院整理
- C++/JAVA/C#子类调用父类函数情况总结
- Linux中MongoDB如何实现远程自动备份详解
- 在python中实现调用可执行文件.exe的3种方法
- 你应该知道的.NET错误与异常处理机制
- 基于Docker快速搭建ELK的方法
- iOS WebView中使用webp格式图片的方法
- Android开启新线程播放背景音乐
- Linux查看History记录加时间戳的小技巧