Php 使用SimpleXMLElement访问数组时的奇怪行为

Php 使用SimpleXMLElement访问数组时的奇怪行为,php,iterator,simplexml,Php,Iterator,Simplexml,我正在分析一个Webserivce响应,我有一个奇怪的行为 下面是一个小例子 输出通过var\u dump($results)完成 但是如果我做了var\u转储($results->channel->item)而不是包含9个元素的数组,后者似乎是数组的1个元素 那是什么行为? 谢谢 PS:我在PHP5.4.6和Xdebug 2.2.1上运行,这是完全正常的$results->channel->item是一个迭代器,用于foreach循环。这将为您提供所有项目元素: foreach ($xml-&

我正在分析一个Webserivce响应,我有一个奇怪的行为

下面是一个小例子

输出通过
var\u dump($results)完成

但是如果我做了
var\u转储($results->channel->item)而不是包含9个元素的数组,后者似乎是数组的1个元素

那是什么行为? 谢谢


PS:我在PHP5.4.6和Xdebug 2.2.1上运行,这是完全正常的
$results->channel->item
是一个迭代器,用于
foreach
循环。这将为您提供所有
项目
元素:

foreach ($xml->channel->item as $item) {
    var_dump($item);
}

谢谢,很难猜测它是一个迭代器,因为xdebug告诉我们它是一个“数组”。@Tristan是的,这是不可能猜测的,这就是为什么参考类定义为
SimpleXMLElement implements Traversable的文档很重要。