Как получить доступ к определенному значению в смешанном объекте (stdClass) и конструкции массива?

Моя переменная выглядит так:

var_dump($content) object(stdClass)#5 (1) { ["errors"]=> array(1) { [0]=> object(stdClass)#6 (2) { ["message"]=> string(24) "Invalid or expired token" ["code"]=> int(89) } } } 

Как получить значение message («Недопустимый или истекший токен»)?

Если значение указывает object(stdClass) в var_dump , вы var_dump доступ к его свойствам с помощью -> нотации. Итак, первый шаг в вашем случае:

 $content->errors 

Теперь это массив, поэтому вы получаете доступ к своим ключам с помощью [..] нотации. Следующий шаг:

 $content->errors[0] 

Теперь это снова object(stdClass) , поэтому вы object(stdClass) доступ к его свойствам с помощью -> :

 $content->errors[0]->message 

Однако эта структура подразумевает, что могут быть множественные ошибки. Вы должны скорее пропустить массив errors и вывести все ошибки по очереди:

 foreach ($content->errors as $error) { echo $error->message; } 

Вам придется перебирать и вы можете напрямую обращаться к сообщению var:

 <?php foreach ($content->errors as $item) { echo $item->message; }