我有一些我解码的json对象,其中一个属性以“@”开头,我无法使用php访问该元素,因为它会抛出错误。
[offers] => stdClass Object
(
[@attributes] => stdClass Object
(
[id] => levaka0B8a
)
)
我将如何访问属性?
答案 0 :(得分:27)
您可以通过字符串访问它:
echo $obj->{'@attributes'}->id; // levaka0B8a
或变量:
$name = '@attributes';
echo $obj->$name->id;
有关如何定义和使用变量的更多信息,请参阅以下文档:
答案 1 :(得分:9)
你可以这样做:
$object->{'@attributes'}
答案 2 :(得分:3)
尝试使用,
$objSimpleXml->attributes()->id
要参考的示例代码
<?php
$string = <<<XML
<a>
<foo name="one" game="lonely">1</foo>
</a>
XML;
$xml = simplexml_load_string($string);
var_dump( $xml );
foreach($xml->foo[0]->attributes() as $a => $b) {
echo $a,'="',$b,"\"\n";
}
?>
答案 3 :(得分:2)
直接访问来自ircmaxwell或Richard Tuin,但是您可以使用第二个param true解析JSON并且可以更容易访问的recive数组