不能使用 stdClass 类型的对象作为数组


Cannot use object of type stdClass as array

这是我正在做的事情,我收到此错误

echo empty($record['name']) ? $previous_data['w_name'] : $record['name'];

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

$new_data = array( 'name' => empty($record['name']) ? $previous_data['w_name'] : $record['name'] );

不要使用

$record['name'] 访问属性,请尝试使用 $record->name。

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