PHP – невозможно получить доступ к массиву в объекте stdclass

В настоящее время у меня есть объект stdclass. Как я могу получить доступ к свойствам объекта, таким как имя автора? Я попытался вывести $authors = $book->authors_summary[0]->name;, но он возвращает ошибку "Попытка получить свойство не-объекта в...".

[authors_summary] => Array
        (
            [0] => Array
                (
                    [id] => 123456789
                    [name] => Ben Smith
                )

            [1] => Array
                (
                    [nconst] => 987654321
                    [name] => Tommy Lee
                )

        )

person ModestGrey    schedule 22.03.2016    source источник
comment
можете ли вы var_dump($book) ?   -  person Prafulla Kumar Sahu    schedule 22.03.2016


Ответы (3)


Ваш authors_summary[0] представляет собой массив, поэтому вы не можете использовать указатель объекта ->, вы должны называть его массивом:

$authors = $book->authors_summary[0]['name'];
person pes502    schedule 22.03.2016
comment
как я могу повторить оба имени в цикле foreach? - person ModestGrey; 22.03.2016

'name' - это ключ массива, поэтому вы можете получить доступ к значению имени, подобному этому

$authors = $book->authors_summary[0]['name'];
echo $authors;
person Arsal Ali    schedule 22.03.2016

Массив ( [данные] => Массив ( [0] => Объект stdClass ( [Id] => 5 [Имя] => nilu [Email] => [email protected] [Пароль] => nilu [Изображение] => ЛЮБОВЬ_A_O_D.jpg )

    )

)

как получить пароль из этого..... в контроллере---- $datas['data']= $this->Login_model->loginchk($value);

в модели ----- $results=$this->db->get(); вернуть $результаты->результат();

person avijit    schedule 23.05.2018
comment
Это ужасно отформатировано и нечитаемо. Пожалуйста, отредактируйте свой ответ. - person Michael Czechowski; 23.05.2018