本日调试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']; ?>输出功效:飞鸟慕鱼