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

yipeiwu_com5年前PHP代码库

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 file_get_contents 函数超时的几种解决方法

这里就简单介绍两种: 一、增加超时的时间限制 这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间...

php缓冲输出实例分析

本文实例讲述了php缓冲输出用法。分享给大家供大家参考。具体分析如下: ob_start([string output_callback])- 打开输出缓冲区 所有的输出信息不在直接发送...

基于HBase Thrift接口的一些使用问题及相关注意事项的详解

HBase对于非Java语言提供了Thrift接口支持,这里结合对HBase Thrift接口(HBase版本为0.92.1)的使用经验,总结其中遇到的一些问题及其相关注意事项。1. 字...

php之字符串变相相减的代码

  很极端的例子,一种变相解决的问题的思路,记录下来,以备后用。   如何去掉文件默认名字的后缀?   $fileName&n...

php fsockopen中多线程问题的解决办法[翻译]

问题: 有没有办法在php中实现多线程呢? 假设你正在写一个基于多台服务器的php应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。 可以实现吗? 回答: 当有人想要实现并发...