我在PHP中有一个对象
object(SimpleXMLElement)[974]
public '@attributes' =>
array (size=1)
'index' => string 'vDEF' (length=4)
public 0 => string 'Link Title' (length=10)
如何返回值public 0?
我尝试过
$obj[0]
$obj->0
$obj->[0]
没有一个能给我结果。
使用PHP 5.7
更新代码以提供一个数组
array (size=2)
'@attributes' =>
array (size=1)
'index' => string 'vDEF' (length=4)
0 => string 'Link Title' (length=10)
答案 0 :(得分:2)
也许
$reflection = new \ReflectionClass($object);
$property = $reflection->getProperty(0);
或
$reflection = new \ReflectionClass($object);
$property = $reflection->getProperty('0');
答案 1 :(得分:0)
该调试输出由Laravel的dd
帮助方法从以下XML生成:
<root index="vDEF">Link Title</root>
您无需使用反射或遍历对象属性即可访问链接标题。这只是您的SimpleXMLElement对象的文本内容,您可以通过将对象转换为字符串来访问它:
echo (string) $object;
特别是使用反射是一个非常缓慢的过程,应尽可能避免。
SimpleXML提供了用于访问XML文档的属性和元素的完整API,但是当您开始使用var_dump
/ dd
/ etc
检查它时,它并不总是显而易见的。阅读the basic documentation for the library,这将是一个简单的选择。