2016-05-17 29 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 \ RecursiveArterIterator(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

関連する問題