RecursiveIteratorIterator::__construct Construct a RecursiveIteratorIterator &reftitle.description; public RecursiveIteratorIterator::__construct Traversableiterator intmodeRecursiveIteratorIterator::LEAVES_ONLY intflags0 Creates a RecursiveIteratorIterator from a RecursiveIterator. &reftitle.parameters; iterator The iterator being constructed from. Either a RecursiveIterator or IteratorAggregate. mode Optional mode. Possible values are RecursiveIteratorIterator::LEAVES_ONLY - The default. Lists only leaves in iteration. RecursiveIteratorIterator::SELF_FIRST - Lists leaves and parents in iteration with parents coming first. RecursiveIteratorIterator::CHILD_FIRST - Lists leaves and parents in iteration with leaves coming first. flags Optional flag. Possible values are RecursiveIteratorIterator::CATCH_GET_CHILD which will then ignore exceptions thrown in calls to RecursiveIteratorIterator::getChildren. &reftitle.returnvalues; &return.void; &reftitle.examples; Iterating a RecursiveIteratorIterator $leaf) { echo "$key => $leaf", PHP_EOL; } ?> ]]> Output with $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 ]]> Output with $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 ]]> Output with $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 ]]>