3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php echo (new ReflectionClass('RecursiveTreeIterator'));
Output for 7.1.0
Class [ <internal:SPL> <iterateable> class RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator, Traversable, Iterator ] { - Constants [12] { Constant [ public integer LEAVES_ONLY ] { 0 } Constant [ public integer SELF_FIRST ] { 1 } Constant [ public integer CHILD_FIRST ] { 2 } Constant [ public integer CATCH_GET_CHILD ] { 16 } Constant [ public integer BYPASS_CURRENT ] { 4 } Constant [ public integer BYPASS_KEY ] { 8 } Constant [ public integer PREFIX_LEFT ] { 0 } Constant [ public integer PREFIX_MID_HAS_NEXT ] { 1 } Constant [ public integer PREFIX_MID_LAST ] { 2 } Constant [ public integer PREFIX_END_HAS_NEXT ] { 3 } Constant [ public integer PREFIX_END_LAST ] { 4 } Constant [ public integer PREFIX_RIGHT ] { 5 } } - Static properties [0] { } - Static methods [0] { } - Properties [0] { } - Methods [23] { Method [ <internal:SPL, overwrites RecursiveIteratorIterator, ctor> public method __construct ] { - Parameters [4] { Parameter #0 [ <required> Traversable $iterator ] Parameter #1 [ <optional> $flags ] Parameter #2 [ <optional> $caching_it_flags ] Parameter #3 [ <optional> $mode ] } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method rewind ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method valid ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method key ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method current ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method next ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method beginIteration ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method endIteration ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method callHasChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method callGetChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method beginChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method endChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method nextElement ] { - Parameters [0] { } } Method [ <internal:SPL> public method getPrefix ] { - Parameters [0] { } } Method [ <internal:SPL> public method setPrefixPart ] { - Parameters [2] { Parameter #0 [ <required> $part ] Parameter #1 [ <required> $value ] } } Method [ <internal:SPL> public method getEntry ] { - Parameters [0] { } } Method [ <internal:SPL> public method setPostfix ] { - Parameters [0] { } } Method [ <internal:SPL> public method getPostfix ] { - Parameters [0] { } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getDepth ] { - Parameters [0] { } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getSubIterator ] { - Parameters [1] { Parameter #0 [ <optional> $level ] } } Method [ <internal:SPL, inherits RecursiveIteratorIterator, prototype OuterIterator> public method getInnerIterator ] { - Parameters [0] { } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method setMaxDepth ] { - Parameters [1] { Parameter #0 [ <optional> $max_depth ] } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getMaxDepth ] { - Parameters [0] { } } } }
Output for 5.5.2 - 5.6.28, 7.0.0 - 7.0.14
Class [ <internal:SPL> <iterateable> class RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator, Traversable, Iterator ] { - Constants [12] { Constant [ integer LEAVES_ONLY ] { 0 } Constant [ integer SELF_FIRST ] { 1 } Constant [ integer CHILD_FIRST ] { 2 } Constant [ integer CATCH_GET_CHILD ] { 16 } Constant [ integer BYPASS_CURRENT ] { 4 } Constant [ integer BYPASS_KEY ] { 8 } Constant [ integer PREFIX_LEFT ] { 0 } Constant [ integer PREFIX_MID_HAS_NEXT ] { 1 } Constant [ integer PREFIX_MID_LAST ] { 2 } Constant [ integer PREFIX_END_HAS_NEXT ] { 3 } Constant [ integer PREFIX_END_LAST ] { 4 } Constant [ integer PREFIX_RIGHT ] { 5 } } - Static properties [0] { } - Static methods [0] { } - Properties [0] { } - Methods [23] { Method [ <internal:SPL, overwrites RecursiveIteratorIterator, ctor> public method __construct ] { - Parameters [4] { Parameter #0 [ <required> Traversable $iterator ] Parameter #1 [ <optional> $flags ] Parameter #2 [ <optional> $caching_it_flags ] Parameter #3 [ <optional> $mode ] } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method rewind ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method valid ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method key ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method current ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method next ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method beginIteration ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method endIteration ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method callHasChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method callGetChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method beginChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method endChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method nextElement ] { - Parameters [0] { } } Method [ <internal:SPL> public method getPrefix ] { - Parameters [0] { } } Method [ <internal:SPL> public method setPrefixPart ] { - Parameters [2] { Parameter #0 [ <required> $part ] Parameter #1 [ <required> $value ] } } Method [ <internal:SPL> public method getEntry ] { - Parameters [0] { } } Method [ <internal:SPL> public method setPostfix ] { - Parameters [0] { } } Method [ <internal:SPL> public method getPostfix ] { - Parameters [0] { } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getDepth ] { - Parameters [0] { } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getSubIterator ] { - Parameters [1] { Parameter #0 [ <optional> $level ] } } Method [ <internal:SPL, inherits RecursiveIteratorIterator, prototype OuterIterator> public method getInnerIterator ] { - Parameters [0] { } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method setMaxDepth ] { - Parameters [1] { Parameter #0 [ <optional> $max_depth ] } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getMaxDepth ] { - Parameters [0] { } } } }
Output for hhvm-3.10.0 - 3.12.0
Class [ <internal:> <iterable> class RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator, HH\Iterator, HH\Traversable, Iterator, Traversable ] { - Constants [19] { Constant [ integer BYPASS_CURRENT {4} ] Constant [ integer BYPASS_KEY {8} ] Constant [ integer PREFIX_LEFT {0} ] Constant [ integer PREFIX_MID_HAS_NEXT {1} ] Constant [ integer PREFIX_MID_LAST {2} ] Constant [ integer PREFIX_END_HAS_NEXT {3} ] Constant [ integer PREFIX_END_LAST {4} ] Constant [ integer PREFIX_RIGHT {5} ] Constant [ integer LEAVES_ONLY {0} ] Constant [ integer SELF_FIRST {1} ] Constant [ integer CHILD_FIRST {2} ] Constant [ integer CATCH_GET_CHILD {16} ] Constant [ integer STATE_NEXT {10} ] Constant [ integer STATE_TEST {11} ] Constant [ integer STATE_SELF {12} ] Constant [ integer STATE_CHILD {13} ] Constant [ integer STATE_START {14} ] Constant [ integer NEXT_COMPLETE {10} ] Constant [ integer NEXT_REPEAT {11} ] } - Static properties [0] { } - Static methods [0] { } - Properties [3] { Property [ <default> private $flags ] Property [ <default> private $prefix ] Property [ <default> private $postfix ] } - Methods [29] { Method [ <internal, overrides RecursiveIteratorIterator, ctor> public method __construct ] { - Parameters [4] { Parameter #0 [ <required> Traversable $it ] Parameter #1 [ <optional> $flags = NULL ] Parameter #2 [ <optional> $cit_flags = NULL ] Parameter #3 [ <optional> $mode = NULL ] } } Method [ <internal> public method setPrefixPart ] { - Parameters [2] { Parameter #0 [ <required> $part ] Parameter #1 [ <required> $prefix ] } } Method [ <internal> public method getPrefix ] { } Method [ <internal> public method setPostfix ] { - Parameters [1] { Parameter #0 [ <required> $postfix ] } } Method [ <internal> public method getEntry ] { } Method [ <internal> public method getPostfix ] { } Method [ <internal, implements HH\Iterator> public method current ] { } Method [ <internal, implements HH\Iterator> public method key ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method getInnerIterator ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method next ] { } Method [ <internal, inherits RecursiveIteratorIterator> private method nextImpl ] { } Method [ <internal, inherits RecursiveIteratorIterator> private method nextInnerImpl ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method rewind ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method valid ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method beginChildren ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method beginIteration ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method callGetChildren ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method callHasChildren ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method endChildren ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method endIteration ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method getDepth ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method getMaxDepth ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method getSubIterator ] { - Parameters [1] { Parameter #0 [ <optional> $level = NULL ] } } Method [ <internal, inherits RecursiveIteratorIterator> public method nextElement ] { } Method [ <internal, inherits RecursiveIteratorIterator> public method setMaxDepth ] { - Parameters [1] { Parameter #0 [ <optional> $max_depth = -1 ] } } Method [ <internal, inherits RecursiveIteratorIterator> private method isEmpty ] { } Method [ <internal, inherits RecursiveIteratorIterator> private method getInnerIteratorState ] { } Method [ <internal, inherits RecursiveIteratorIterator> private method setInnerIteratorState ] { - Parameters [1] { Parameter #0 [ <required> $state ] } } Method [ <internal, inherits RecursiveIteratorIterator> public method __call ] { - Parameters [2] { Parameter #0 [ <required> $func ] Parameter #1 [ <required> $params ] } } } }
Output for 5.3.1 - 5.5.1
Class [ <internal:SPL> <iterateable> class RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator, Traversable, Iterator ] { - Constants [12] { Constant [ integer LEAVES_ONLY ] { 0 } Constant [ integer SELF_FIRST ] { 1 } Constant [ integer CHILD_FIRST ] { 2 } Constant [ integer CATCH_GET_CHILD ] { 16 } Constant [ integer BYPASS_CURRENT ] { 4 } Constant [ integer BYPASS_KEY ] { 8 } Constant [ integer PREFIX_LEFT ] { 0 } Constant [ integer PREFIX_MID_HAS_NEXT ] { 1 } Constant [ integer PREFIX_MID_LAST ] { 2 } Constant [ integer PREFIX_END_HAS_NEXT ] { 3 } Constant [ integer PREFIX_END_LAST ] { 4 } Constant [ integer PREFIX_RIGHT ] { 5 } } - Static properties [0] { } - Static methods [0] { } - Properties [0] { } - Methods [22] { Method [ <internal:SPL, overwrites RecursiveIteratorIterator, ctor> public method __construct ] { - Parameters [4] { Parameter #0 [ <required> Traversable $iterator ] Parameter #1 [ <optional> $flags ] Parameter #2 [ <optional> $caching_it_flags ] Parameter #3 [ <optional> $mode ] } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method rewind ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method valid ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method key ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method current ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method next ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method beginIteration ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method endIteration ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method callHasChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method callGetChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method beginChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method endChildren ] { - Parameters [0] { } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method nextElement ] { - Parameters [0] { } } Method [ <internal:SPL> public method getPrefix ] { - Parameters [0] { } } Method [ <internal:SPL> public method setPrefixPart ] { - Parameters [2] { Parameter #0 [ <required> $part ] Parameter #1 [ <required> $value ] } } Method [ <internal:SPL> public method getEntry ] { - Parameters [0] { } } Method [ <internal:SPL> public method getPostfix ] { - Parameters [0] { } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getDepth ] { - Parameters [0] { } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getSubIterator ] { - Parameters [1] { Parameter #0 [ <optional> $level ] } } Method [ <internal:SPL, inherits RecursiveIteratorIterator, prototype OuterIterator> public method getInnerIterator ] { - Parameters [0] { } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method setMaxDepth ] { - Parameters [1] { Parameter #0 [ <optional> $max_depth ] } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getMaxDepth ] { - Parameters [0] { } } } }
Output for 5.3.0
Class [ <internal:SPL> <iterateable> class RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator, Traversable, Iterator ] { - Constants [12] { Constant [ integer LEAVES_ONLY ] { 0 } Constant [ integer SELF_FIRST ] { 1 } Constant [ integer CHILD_FIRST ] { 2 } Constant [ integer CATCH_GET_CHILD ] { 16 } Constant [ integer BYPASS_CURRENT ] { 4 } Constant [ integer BYPASS_KEY ] { 8 } Constant [ integer PREFIX_LEFT ] { 0 } Constant [ integer PREFIX_MID_HAS_NEXT ] { 1 } Constant [ integer PREFIX_MID_LAST ] { 2 } Constant [ integer PREFIX_END_HAS_NEXT ] { 3 } Constant [ integer PREFIX_END_LAST ] { 4 } Constant [ integer PREFIX_RIGHT ] { 5 } } - Static properties [0] { } - Static methods [0] { } - Properties [0] { } - Methods [22] { Method [ <internal:SPL, overwrites RecursiveIteratorIterator, ctor> public method __construct ] { - Parameters [4] { Parameter #0 [ <required> Traversable $iterator ] Parameter #1 [ <optional> $flags ] Parameter #2 [ <optional> $caching_it_flags ] Parameter #3 [ <optional> $mode ] } } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method rewind ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method valid ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method key ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method current ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype Iterator> public method next ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method beginIteration ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method endIteration ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method callHasChildren ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method callGetChildren ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method beginChildren ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method endChildren ] { } Method [ <internal:SPL, overwrites RecursiveIteratorIterator, prototype RecursiveIteratorIterator> public method nextElement ] { } Method [ <internal:SPL> public method getPrefix ] { } Method [ <internal:SPL> public method setPrefixPart ] { - Parameters [2] { Parameter #0 [ <required> $part ] Parameter #1 [ <required> $value ] } } Method [ <internal:SPL> public method getEntry ] { } Method [ <internal:SPL> public method getPostfix ] { } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getDepth ] { } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getSubIterator ] { - Parameters [1] { Parameter #0 [ <optional> $level ] } } Method [ <internal:SPL, inherits RecursiveIteratorIterator, prototype OuterIterator> public method getInnerIterator ] { } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method setMaxDepth ] { - Parameters [1] { Parameter #0 [ <optional> $max_depth ] } } Method [ <internal:SPL, inherits RecursiveIteratorIterator> public method getMaxDepth ] { } } }
Output for 5.0.3 - 5.2.17
Fatal error: Uncaught exception 'ReflectionException' with message 'Class RecursiveTreeIterator does not exist' in /in/XWtVg:3 Stack trace: #0 /in/XWtVg(3): ReflectionClass->__construct('RecursiveTreeIt...') #1 {main} thrown in /in/XWtVg on line 3
Process exited with code 255.
Output for 5.0.0 - 5.0.2
Fatal error: Uncaught exception 'ReflectionException' with message 'Class RecursiveTreeIterator does not exist' in /in/XWtVg:3 Stack trace: #0 {main} thrown in /in/XWtVg on line 3
Process exited with code 255.
Output for 4.3.2 - 4.4.9
Fatal error: Cannot instantiate non-existent class: reflectionclass in /in/XWtVg on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Cannot instantiate non-existent class: reflectionclass in /in/XWtVg on line 3