php 'Cannot use object of type stdClass as array'错误如何解决方法

雾,没有山河那么壮观,没有雨那么缠绵。它总是那么轻盈,那么淡雅,给人一种美的享受。陽光被层层叠叠的树叶过滤,漏到他身上变成了淡淡的圆圆的轻轻摇曳的光晕。

今天调试php时,出现“Cannot use object of type stdClass as array”错误,虽然不是什么大错误,但也是自己写代码不用心造成的,有必要记录一下,提醒一下自己。

错误代码:

Cannot use object of type stdClass as array

含义:不能将stdClass类型的对象用作数组

解释:对象类型的变量,被当作了数组处理,所以php会抛出了错误。

错误过程:

错误的php代码

php代码:

<?php
$json = '{"name":"飞鸟慕鱼","host":"feiniaomy.com","author":"mochu"}';
$arr = json_decode($json);
// 这里输出数组中的一个元素
echo $arr['name'];
?>

输出结果:

php会抛出以下错误
Cannot use object of type stdClass as array

解决方法:

以上的代码,是利用 json_decode() 函数将一个json字符串转换成数组,并输出。但 json_decode() 函数由于没有设置第二个参数,所以输出的变量类型依然是对象,就造成以上的错误。

代码修正如下:

php代码:

<?php
$json = '{"name":"飞鸟慕鱼","host":"feiniaomy.com","author":"mochu"}';
//修改后的代码
$arr = json_decode($json,true);
echo $arr['name'];
?>

输出结果:飞鸟慕鱼

到此这篇关于php 'Cannot use object of type stdClass as array'错误如何解决方法就介绍到这了。青春理应勇猛过人而非怯懦怕事,应积极进取而非苟安现状,如此气概,二十后生虽有,六旬之人更甚,年岁有加,未必已垂老,理想若失,则以堕暮年。更多相关php 'Cannot use object of type stdClass as array'错误如何解决方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
PHP性能优化案例分享

PHP实现短信验证码的发送次数限制

PHP中的异常处理机制深入讲解

PHP常见七种算法合集代码实例

PHP微信扫描二维码关注公众号后自动登录第三方网站