我正在使用SimpleXML从API获取一些数据。它以这种格式返回的东西:
object(SimpleXMLElement)#10 (1) {
[0]=>
string(36) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
我的问题是,我怎样才能访问此对象的字符串值?如果我尝试$myVariable->0
给我一个错误。执行$zero = '0'
然后echo $myVariable->$zero
也不起作用,(array) $myVariable
也不起作用(这会发出警告)。
答案 0 :(得分:4)
诀窍是SimpleXMLElement
已经实现了__toString
魔术方法,它会返回你的string(36) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
,所以要在你的SimpleXMLElement
对象上弹出这个字符串(字符串) :
(string)$myVariable
使用PHP
,您可以
print $myVariable;
当然,不一定需要明确的(string)
。
答案 1 :(得分:1)
AFAIR就像这样:
$myVariable->{0}
编辑:这在大多数情况下都有效,但不适用于此情况。看起来SimpleXML不仅实现了像Nemoden指出的__toString
方法,还实现了__get
,因此以这种方式访问对象属性会导致返回克隆对象。