我的问题与此问题类似
How do I access a PHP object attribute having a dollar sign?
但我有一个@(at)符号而不是一美元。
对象是:
object(SimpleXMLElement)#8 (1) {
["@attributes"]=> array(3) {
["type"]=> string(9) "image/png"
["href"]=> string(62) "http://someurl.com/images/193/image_normal.jpg"
["rel"]=> string(5) "image"
}
}
我必须访问@attributes变量(真的是href组件),但PHP不允许这样的语法:
$object->@attributes
根据引用的资源,我尝试了这种方式:
$object->{'@attributes'};
或
$myvar = '@attributes';
$object->$myvar;
但这两种形式都不会导致访问变量。它打印:
object(SimpleXMLElement)#8 (0) {}
虽然我期待一个矢量。
有什么想法吗?感谢
答案 0 :(得分:1)
在正常情况下$object->{'@attributeName'}
- 提出您的问题。
但是,你希望得到一个xml element's attribute,使用SimpleXMLElement - 这样做:
$attributeValue = (string) $xmlElement['attributeName'];
更多用法:
答案 1 :(得分:0)
它是attributes
,请参阅SimpleXMLElement::attributes了解更多信息
示例
foreach($xml->attributes() as $a => $b) {
echo $a,'="',$b,"\"\n";
}