PHP从密钥为整数的对象获取密钥

时间:2018-09-24 12:50:13

标签: php object

我在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)

2 个答案:

答案 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,这将是一个简单的选择。