Php 无法将stdClass类型的对象用作数组

Php 无法将stdClass类型的对象用作数组,php,arrays,codeigniter-2,Php,Arrays,Codeigniter 2,这是我正在做的,我得到了这个错误 echo empty($record['name'])$以前的_数据['w_name']:$record['name'] 有什么问题吗?我尝试这么做的原因是,我使用这个逻辑来更新用户的配置文件,如果他不想更新,他可以将该字段留空,我已经存储了这个先前的_数据数组和他的旧信息,如果用户将字段留空,我将在其中存储以前数据数组中的值,但如果用户确实更改/更新了字段,我将在其中存储新值 $new\u data=array( 'name'=>空($record['name

这是我正在做的,我得到了这个错误

echo empty($record['name'])$以前的_数据['w_name']:$record['name']

有什么问题吗?我尝试这么做的原因是,我使用这个逻辑来更新用户的配置文件,如果他不想更新,他可以将该字段留空,我已经存储了这个先前的_数据数组和他的旧信息,如果用户将字段留空,我将在其中存储以前数据数组中的值,但如果用户确实更改/更新了字段,我将在其中存储新值

$new\u data=array(
'name'=>空($record['name'])?$previous_data['w_name']:$record['name']

);

尝试使用$record->name,而不是使用$record['name']访问属性


正如错误所说,您正试图将对象视为数组。

错误告诉您问题所在:要么
$record
要么
$previous_data
是一个对象,您正在将其作为数组访问。您需要正确访问成员(即,
$record->name
而不是
$record['name']