2016-05-17 77 views
0

我的問題是,當我使用名稱空間時,我無法使用標準PHP庫的RecursiveIteratorIterator類。 下面的代碼:對命名空間使用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 Fatal error: Uncaught Error: Class 'mynamespace\RecursiveIteratorIterator' not found in ...

+0

'new \ RecursiveIteratorIterator(new \ RecursiveArrayIterator($ arr));' - http://php.net/manual/en/language.namespaces.basics.php – AbraCadaver

+0

噢謝謝你寫的是回答,我會打勾它:D – Tom291

回答

1

您需要\引用全局命名空間:

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

或者你也可以將它們導入到當前的命名空間與use

namespace mynamespace; 
use RecursiveIteratorIterator; 
use RecursiveArrayIterator; 

查看Using namespaces: Basics瞭解詳情。

+0

再次感謝你! :d – Tom291