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 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中STDCLASS用法实例分析
本文实例讲述了PHP中STDCLASS用法.分享给大家供大家参考,具体如下: PHP中STDCLASS在我们开发应用中使用到的不多,但是PHP中STDCLASS作用是非常的大的,下面我们一起来看PHP中STDCLASS的用法. 在WordPress中很多地方使用stdClass来定义一个对象(而通常是用数组的方式),然后使用get_object_vars来把定义的对象『转换』成数组. 如下代码所示: $tanteng = new stdClass(); $tanteng->name = 'tan
-
PHP中遍历stdclass object的实现代码
需要操作的数据: 复制代码 代码如下: $test =Array ( [0] => stdClass Object ( [tags] => 最快的车,Bloodhound,SSC [id] => 48326888 ) ) 从网上查到的方法是 用get_object_vars 把类类型转换成数组 然后在用 foreach 遍历即可 $array = get_object_vars($test);
-
PHP5中新增stdClass 内部保留类
stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL,可以使用其传递变量参数,但是没有可以调用的方法.stdClass类可以被继承,只是这样做没有什么意义. 该类是PHP的保留类,并不是所有类的基类. 复制代码 代码如下: <?php class foo {} $bar = new foo(); echo $bar instanceof stdClass?'yes':'no'; //output:no 另外一个例子: 复制代码 代码如下:
-
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的用法分析
本文实例分析了php中stdClass的用法.分享给大家供大家参考.具体分析如下: stdclass在php中是预定义的几个类之一,是zent保留的一个类.实际上它是PHP提供的一个基类,就是一个空白的类,里面什么都没有,我们可以实例化它,然后定义一系列的变量,通过它来进行变量的传递(很多php程序员用它来传递一系列变量的值,而同时又懒得去创建一个自己的类).但是,由于实例化后不能添加方法,只能传递属性.因为,一旦类被实列化以后,就不能在添加方法了. stdclass可以作为基类使用,其最大特点
-
从PHP的源码中深入了解stdClass类
在百度百科中,对于stdClass的定义如下: 复制代码 代码如下: stdClass在PHP5才开始被流行.而stdClass也是zend的一个保留类.stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object.同时,这个基类又有一个特殊的地方,就是没有方法.凡是用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用.PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资
-
一个ASP创建动态对象的工厂类(类似PHP的stdClass)
最近整理ASP/VBScript代码,发现过去的一个ASP实现的MVC框架,可惜是个半成品,效率也成问题,不过发现里面有些我写的代码,感觉还稍稍可以拿出来见人,于是今天作此文以记之. 说是ASP,其实和VBScript也脱不了干系,VBScript语言传承于Visual Basic,VB的语法灵活度已经不尽如人意了,VBS作为其子集可想而知.神马反射.自省等先进的技术,微软在.NET中才引入.作为被抛弃的技术,也不奢望微软能够提供支持,于是顽固守旧的程序员只有绞尽脑汁的去模仿实现一些类似的功能.
-
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代码: 复制代码 代码如下: $user = new stdClass();$user->name = 'gouki'; 这样的代码,这是干嘛用的呢?翻开手册,搜索stdClass,你会发现,手册上几乎没有介绍,如果你再次搜索google,看到的也几乎全是英文解释.其实,stdClass在PHP5才开始被流行.而stdClass也是zend的一个保留类.似乎没有其他作用.也几乎没有任何说明.或者,我们可以这么理解:stdClass是PHP的一个基类
随机推荐
- 简单的Python的curses库使用教程
- 探秘ajax跨域请求
- JS button按钮实现submit按钮提交效果
- 详谈js原型继承的一些问题
- Spring Boot打包war jar 部署tomcat
- java使用EditText控件时不自动弹出输入法的方法
- PHP中用正则表达式清除字符串的空白
- android popwindow实现左侧弹出菜单层及PopupWindow主要方法介绍
- linux mysql忘记密码的多种解决或Access denied for user 'root'@'localhost'
- Android中App字体大小不随系统改变而改变
- Jquery组件easyUi实现表单验证示例
- 学习javascript面向对象 理解javascript对象
- Flask实现异步非阻塞请求功能实例解析
- 手把手教你写一个微信小程序(推荐)
- Android倒计时的开始与停止 剩余时分秒的展示
- Java方法重载Overload原理及使用解析
- vue.js 实现图片本地预览 裁剪 压缩 上传功能
- Python网络编程之TCP套接字简单用法示例
- 解决IDEA JSP没有代码提示问题的几种方法
- 详解Nginx静态服务配置(root和alias指令)