雾,没有山河那么壮观,没有雨那么缠绵。它总是那么轻盈,那么淡雅,给人一种美的享受。陽光被层层叠叠的树叶过滤,漏到他身上变成了淡淡的圆圆的轻轻摇曳的光晕。
今天调试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'错误如何解决方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!