如何访问混合对象(stdClass)和数组结构中的特定值


How to access a specific value in a mixed object(stdClass) and array construct?

我的变量是这样的:

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("无效或过期令牌")的值?

如果一个值在var_dump中表示object(stdClass),则使用->表示法访问其属性。第一步是:

$content->errors

现在是一个数组,所以您使用[..]表示法访问它的键。下一步是:

$content->errors[0]

这又是一个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;
}