如何访问PHP中以@开头的stdClass成员

Nik*_*hil 11 php arrays json stdclass

我有一些我解码的json对象,其中一个属性以"@"开头,我无法使用php访问该元素,因为它会抛出错误.

                    [offers] => stdClass Object
                    (
                        [@attributes] => stdClass Object
                            (
                                [id] => levaka0B8a
                            )
                    )
Run Code Online (Sandbox Code Playgroud)

我将如何访问属性?

irc*_*ell 27

您可以通过字符串访问它:

echo $obj->{'@attributes'}->id; // levaka0B8a
Run Code Online (Sandbox Code Playgroud)

或变量:

$name = '@attributes';
echo $obj->$name->id;
Run Code Online (Sandbox Code Playgroud)

有关如何定义和使用变量的更多信息,请参阅以下文档:

  • 变量基础 - 用于学习可以作为变量访问的内容,而无需使用字符串.
  • 变量变量 - 我们如何使用变量作为另一个变量的名称.这可能是危险的,所以谨慎行事


Ric*_*uin 9

你可以这样做:

$object->{'@attributes'}
Run Code Online (Sandbox Code Playgroud)