我有这段代码:
$dom = new DOMDocument();
$dom->load('file.xml');
$names = $dom->getElementsByTagName('name');
现在,$names
是一个 DOMNodeList 对象,我需要将它转换为一个数组。
$names = (array)$names;
var_dump($names); // empty array
上述代码无法正常运行,并返回一个空数组,为什么?
Catchable fatal error: Argument 1 passed to iterator_to_array() must implement interface Traversable, instance of DOMNodeList given
。 - Byron WhitlockDOMNodeList
实现了Traversable
。文档中的变更日志没有提到这个改变是何时发生的。我也没有尝试过这个特定的解决方案,可能还存在其他的 bug。 - Stephan Samuel