在SimpleXML对象中的"符号"@?

And*_*Hin 9 php simplexml

这是在print_r()典型的SimpleXMLElement对象上运行的输出:

SimpleXMLElement Object
(
    [@attributes] => Array
        (

        )
)
Run Code Online (Sandbox Code Playgroud)

@符号是什么意思?

Roc*_*mat 12

这是一个SimpleXMLElement对象.'@attributes'行是XML元素的属性的内部表示.使用SimpleXML的函数从此对象获取数据,而不是直接与其进行交互.

  • 这不是"阵列".它也不是"数组元素".这只是一些内部的东西.此外,它不是**"所有属性".例如,命名空间属性不会出现在此列表中.只是不要在SimpleXMLElement上使用`print_r()`,它不是合适的工具. (3认同)

Jos*_*vis 9

关于错误控制的所有答案都是错误的.@并不意味着什么.这就是内部调用属性的方式,但不依赖于此.不要依赖于print_r()var_dump()在处理SimpleXML时.SimpleXML的做了很多没有被正确地表示为"神奇"的事情print_r()var_dump().

如果您需要知道XML片段的"内部",只需使用->asXML()它即可.