php错误提示:Cannot use object of type stdClass as array


在thinkphp处理图片上传功能的时候,针对错误情况抛出错误提示,但出现以如下提示:

致命错误: Cannot use object of type stdClass as array

代码如下:

$pid = input('pid')!= NULL ?input('pid'):session('pid');
        $res = Upload::image('file','attach'.DS.date('Y').DS.date('m').DS.date('d'),true,true,null,'uniqid',1);
        if(!is_array($res)){
            $info = array(
                'code' =>400,
                'msg'  =>'上传失败:'.$res,
                'src'  =>''
            );

这个提示原因是指不能把stdClass的对象做数组使用,所以说我们要解决这个问题就必须把stdClass对象转换成数组类型才行,解决方法有两种:

$res = json_decord($res,true);//这样就可以采用$res['msg']的方式进行访问

或者$res = json_decord($res),但使用$res->msg的方式进行访问即可,或者可以做个判断$res是否为数组对象,如:count($res)?$res:[];

注:本文转载自唯马网络,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。

评论