将RecursiveIteratorIterator与命名空间一起使用


Using RecursiveIteratorIterator with namespaces?

我的问题是,当我使用名称空间时,我不能使用标准PHP库的RecursiveIteratorIterator类。以下代码:

<?php namespace mynamespace;
    $arr = Array("abc", Array("def", "ghi", Array("jkl")));
    $it = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
    $result = iterator_to_array($it, false);
?>

退货:

PHP致命错误:未捕获错误:在中找不到类"mynamespace''RecursiveIteratorIterator"。。。

您需要使用':引用全局命名空间

$it = new 'RecursiveIteratorIterator(new 'RecursiveArrayIterator($arr));

或者您可以使用use:将它们导入到当前命名空间中

namespace mynamespace;
use RecursiveIteratorIterator;
use RecursiveArrayIterator;

有关详细信息,请参见使用名称空间:基础