2013-09-11 6 views
1

Вот что я делаю, и я получаю эту ошибкуНевозможно использовать объект типа StdClass как массив

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

, что может быть проблема? Причина, по которой я пытаюсь сделать, это использовать эту логику для обновления профиля пользователя, если он не хочет обновлять его, он может оставить это поле пустым, и у меня есть этот массив предыдущих_данных с сохраненной его старой информацией, если пользователь оставляет поле пустым, я собираюсь сохранить это предыдущее значение в нем из предыдущего массива данных, но если пользователь изменит/обновит поле, я буду хранить в нем новое значение.

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

+1

Ошибка сообщает вам, в чем проблема: либо '$ record', либо' $ previous_data' является объектом, и вы обращаетесь к нему как к массиву. вам нужно будет получить доступ к элементу правильно (т. е. '$ record-> name' вместо' $ record ['name'] ') – keithhatfield

ответ

3

Вместо доступа к свойствам, используя $ запись [ 'имя'] попробуйте использовать имя $ Запись->.

Как говорится в ошибке, вы пытаетесь обрабатывать объект как массив.

+0

проблема решена :) – avinashizhere

Смежные вопросы