Php 试图在Codeigniter接收的MY#U控制器中设置$data[';stuff';]时出现致命错误:无法将stdClass类型的对象用作数组。。为什么?
我正在尝试根据用户是否登录在我的\u控制器中设置profile div box 如果我可以在控制器中执行此操作Php 试图在Codeigniter接收的MY#U控制器中设置$data[';stuff';]时出现致命错误:无法将stdClass类型的对象用作数组。。为什么?,php,codeigniter,Php,Codeigniter,我正在尝试根据用户是否登录在我的\u控制器中设置profile div box 如果我可以在控制器中执行此操作 $data['name'] = $name; 。。那么为什么这会给我“致命错误:无法将stdClass类型的对象用作数组” 错误是告诉您正在尝试将对象(类)用作数组。无法执行此操作。您已经实例化了对象$data。既然你在我的控制器里,很可能你成功了。您发布的代码没有向我们显示太多,但是: $data['name'] = $name; 如果$data是对象,则不起作用,因为对象希
$data['name'] = $name;
。。那么为什么这会给我“致命错误:无法将stdClass类型的对象用作数组”
错误是告诉您正在尝试将对象(类)用作数组。无法执行此操作。您已经实例化了对象
$data
。既然你在我的控制器里,很可能你成功了。您发布的代码没有向我们显示太多,但是:
$data['name'] = $name;
如果$data
是对象,则不起作用,因为对象希望您使用以下格式:
$data->name = $name;
这会(或者无论如何应该)起作用,但是你应该检查一下你的代码,确保你没有在其他地方使用它。它在哪一行抛出错误?您发布的内容中不应出现该错误。是否继续。错误在你没有给出的部分。特别是在加载我猜的视图时。很明显,您在这里显示的代码不是生成错误的代码。这个错误给出了什么?就是这个。我以前一直使用$data作为数组,但后来在一个朦胧的深夜会话中将其作为对象,然后完全忘记了。愚蠢的错误。谢谢!
$data->name = $name;