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/20140602093535.jpg
[state] => 0 )
[1] => stdClass Object (
[id] => 2
[title] => 首页头条
[size] => 300*150
[pic] => ./upload/20140602093443.jpg
[state] => 0 )
)
输出开始写的方法是:$pic[0][title]
结果就出现上面的错误。
其实,数组中是返回的是一个对象,不能直接用[]来显示,正确的输出方法是:$pic[0]->title
问题解决!
相关推荐
-
PHP5中新增stdClass 内部保留类
stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL,可以使用其传递变量参数,但是没有可以调用的方法.stdClass类可以被继承,只是这样做没有什么意义. 该类是PHP的保留类,并不是所有类的基类. 复制代码 代码如下: <?php class foo {} $bar = new foo(); echo $bar instanceof stdClass?'yes':'no'; //output:no 另外一个例子: 复制代码 代码如下:
-
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代码: 复制代码 代码如下: $user = new stdClass();$user->name = 'gouki'; 这样的代码,这是干嘛用的呢?翻开手册,搜索stdClass,你会发现,手册上几乎没有介绍,如果你再次搜索google,看到的也几乎全是英文解释.其实,stdClass在PHP5才开始被流行.而stdClass也是zend的一个保留类.似乎没有其他作用.也几乎没有任何说明.或者,我们可以这么理解:stdClass是PHP的一个基类
-
一个ASP创建动态对象的工厂类(类似PHP的stdClass)
最近整理ASP/VBScript代码,发现过去的一个ASP实现的MVC框架,可惜是个半成品,效率也成问题,不过发现里面有些我写的代码,感觉还稍稍可以拿出来见人,于是今天作此文以记之. 说是ASP,其实和VBScript也脱不了干系,VBScript语言传承于Visual Basic,VB的语法灵活度已经不尽如人意了,VBS作为其子集可想而知.神马反射.自省等先进的技术,微软在.NET中才引入.作为被抛弃的技术,也不奢望微软能够提供支持,于是顽固守旧的程序员只有绞尽脑汁的去模仿实现一些类似的功能.
-
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 的
-
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 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类
在百度百科中,对于stdClass的定义如下: 复制代码 代码如下: stdClass在PHP5才开始被流行.而stdClass也是zend的一个保留类.stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object.同时,这个基类又有一个特殊的地方,就是没有方法.凡是用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用.PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资
-
php中stdClass的用法分析
本文实例分析了php中stdClass的用法.分享给大家供大家参考.具体分析如下: stdclass在php中是预定义的几个类之一,是zent保留的一个类.实际上它是PHP提供的一个基类,就是一个空白的类,里面什么都没有,我们可以实例化它,然后定义一系列的变量,通过它来进行变量的传递(很多php程序员用它来传递一系列变量的值,而同时又懒得去创建一个自己的类).但是,由于实例化后不能添加方法,只能传递属性.因为,一旦类被实列化以后,就不能在添加方法了. stdclass可以作为基类使用,其最大特点
随机推荐
- 非对称网络不通 子网掩码导致网络不通是“祸首”
- 基于Java生成GUID的实现方法
- js仿支付宝填写支付密码效果实现多方框输入密码
- 原生js实现吸顶效果
- phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
- CI框架中site_url()和base_url()的区别
- python 根据正则表达式提取指定的内容实例详解
- PHP中Cookie的使用详解(简单易懂)
- jQuery Validate 验证,校验规则写在控件中的具体实例
- 利用Java计算某个日期是星期几
- jQuery UI Bootstrap是什么?
- 关闭ie窗口清除Session的解决方法
- ionic实现滑动的三种方式
- 制作可启动U盘的方法
- C++设计模式之抽象工厂模式
- ZIP4j 压缩与解压的实例详解
- C#获取鼠标在listview右键点击单元格的内容方法
- java中transient关键字用法分析
- java事务回滚失败问题分析
- Android实现搜索本地音乐的方法