RecursiveIteratorIterator::__construct RecursiveIteratorIterator を作成する &reftitle.description; public RecursiveIteratorIterator::__construct Traversableiterator intmodeRecursiveIteratorIterator::LEAVES_ONLY intflags0 RecursiveIterator から RecursiveIteratorIterator を作成します。 &reftitle.parameters; iterator 作成する元となるイテレータ。 RecursiveIterator あるいは IteratorAggregate mode オプションのモード。これらの値が指定できます。 RecursiveIteratorIterator::LEAVES_ONLY - デフォルト。イテレーションで葉ノードだけを取り上げます。 RecursiveIteratorIterator::SELF_FIRST - イテレーションで葉と親を (親から先に) 取り上げます。 RecursiveIteratorIterator::CHILD_FIRST - イテレーションで葉と親を (葉から先に) 取り上げます。 flags オプションのフラグ。指定できる値は RecursiveIteratorIterator::CATCH_GET_CHILD で、RecursiveIteratorIterator::getChildren のコール時にスローされた例外を無視します。 &reftitle.examples; RecursiveIteratorIterator の反復処理 $leaf) { echo "$key => $leaf", PHP_EOL; } ?> ]]> $mode = RecursiveIteratorIterator::LEAVES_ONLY の場合の出力 leaf-0-0-0-0 1 => leaf-0-0-0-1 0 => leaf-0-0-0 0 => leaf-0-1-0-0 1 => leaf-0-1-0-1 0 => leaf-0-1-0 0 => leaf-0-0 ]]> $mode = RecursiveIteratorIterator::SELF_FIRST の場合の出力 Array 0 => Array 0 => Array 0 => leaf-0-0-0-0 1 => leaf-0-0-0-1 1 => leaf-0-0-0 1 => Array 0 => Array 0 => leaf-0-1-0-0 1 => leaf-0-1-0-1 1 => leaf-0-1-0 2 => leaf-0-0 ]]> $mode = RecursiveIteratorIterator::CHILD_FIRST の場合の出力 leaf-0-0-0-0 1 => leaf-0-0-0-1 0 => Array 1 => leaf-0-0-0 0 => Array 0 => leaf-0-1-0-0 1 => leaf-0-1-0-1 0 => Array 1 => leaf-0-1-0 1 => Array 2 => leaf-0-0 0 => Array ]]>