将 RecursiveIteratorIterator 与命名空间一起使用?

Using RecursiveIteratorIterator with namespaces?

我的问题是,当我使用命名空间时,我无法使用标准 PHP 库的 RecursiveIteratorIterator Class。 以下代码:

<?php namespace mynamespace;

    $arr = Array("abc", Array("def", "ghi", Array("jkl")));
    $it = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
    $result = iterator_to_array($it, false);

?>

Returns:

PHP Fatal error: Uncaught Error: Class 'mynamespace\RecursiveIteratorIterator' not found in ...

您需要使用 \:

引用全局命名空间
$it = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($arr));

或者您可以使用 use:

将它们导入当前命名空间
namespace mynamespace;
use RecursiveIteratorIterator;
use RecursiveArrayIterator;

详情见Using namespaces: Basics