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

Tom*_*291 3 php spl iterator namespaces standard-library

我的问题是,当我使用命名空间时,我无法使用标准 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);

?>
Run Code Online (Sandbox Code Playgroud)

返回:

PHP 致命错误:未捕获错误:在...中找不到类“mynamespace\RecursiveIteratorIterator”

Abr*_*ver 6

您需要使用以下方式引用全局命名空间\

$it = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($arr));
Run Code Online (Sandbox Code Playgroud)

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

namespace mynamespace;
use RecursiveIteratorIterator;
use RecursiveArrayIterator;
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅使用命名空间:基础知识