3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $data = array( 0 => array( 0 => 1, ), 1 => array( 0 => 2, ), 2 => array( 0 => 3, 1 => 4, 2 => 5, ), 3 => array( 0 => 6, ), 4 => array( 0 => 7, ), ); $it = (new RecursiveArrayIterator($data)); var_dump($it); echo PHP_EOL, implode(iterator_to_array($it)); //745 instead of 1234567 echo PHP_EOL, implode(iterator_to_array($it, true)); //745 instead of 1234567 echo PHP_EOL ; foreach($it as $v) { echo $v ; }
Output for 5.4.0 - 5.6.28, 7.0.0 - 7.1.0
object(RecursiveArrayIterator)#1 (1) { ["storage":"ArrayIterator":private]=> array(5) { [0]=> array(1) { [0]=> int(1) } [1]=> array(1) { [0]=> int(2) } [2]=> array(3) { [0]=> int(3) [1]=> int(4) [2]=> int(5) } [3]=> array(1) { [0]=> int(6) } [4]=> array(1) { [0]=> int(7) } } } Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 ArrayArrayArrayArrayArray Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 ArrayArrayArrayArrayArray Notice: Array to string conversion in /in/6hegj on line 32 Array Notice: Array to string conversion in /in/6hegj on line 32 Array Notice: Array to string conversion in /in/6hegj on line 32 Array Notice: Array to string conversion in /in/6hegj on line 32 Array Notice: Array to string conversion in /in/6hegj on line 32 Array
Output for hhvm-3.10.0 - 3.12.0
object(RecursiveArrayIterator)#1 (2) { ["storage":"ArrayIterator":private]=> array(5) { [0]=> array(1) { [0]=> int(1) } [1]=> array(1) { [0]=> int(2) } [2]=> array(3) { [0]=> int(3) [1]=> int(4) [2]=> int(5) } [3]=> array(1) { [0]=> int(6) } [4]=> array(1) { [0]=> int(7) } } ["flags":"ArrayIterator":private]=> int(0) } Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 ArrayArrayArrayArrayArray Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 ArrayArrayArrayArrayArray Notice: Array to string conversion in /in/6hegj on line 32 Array Notice: Array to string conversion in /in/6hegj on line 32 Array Notice: Array to string conversion in /in/6hegj on line 32 Array Notice: Array to string conversion in /in/6hegj on line 32 Array Notice: Array to string conversion in /in/6hegj on line 32 Array
Output for 5.3.0 - 5.3.29
object(RecursiveArrayIterator)#1 (1) { ["storage":"ArrayIterator":private]=> array(5) { [0]=> array(1) { [0]=> int(1) } [1]=> array(1) { [0]=> int(2) } [2]=> array(3) { [0]=> int(3) [1]=> int(4) [2]=> int(5) } [3]=> array(1) { [0]=> int(6) } [4]=> array(1) { [0]=> int(7) } } } Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 ArrayArrayArrayArrayArray Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 ArrayArrayArrayArrayArray ArrayArrayArrayArrayArray
Output for 5.2.1 - 5.2.17
object(RecursiveArrayIterator)#1 (5) { [0]=> array(1) { [0]=> int(1) } [1]=> array(1) { [0]=> int(2) } [2]=> array(3) { [0]=> int(3) [1]=> int(4) [2]=> int(5) } [3]=> array(1) { [0]=> int(6) } [4]=> array(1) { [0]=> int(7) } } Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 ArrayArrayArrayArrayArray Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 Notice: Array to string conversion in /in/6hegj on line 26 ArrayArrayArrayArrayArray ArrayArrayArrayArrayArray
Output for 5.1.0 - 5.2.0
object(RecursiveArrayIterator)#1 (5) { [0]=> array(1) { [0]=> int(1) } [1]=> array(1) { [0]=> int(2) } [2]=> array(3) { [0]=> int(3) [1]=> int(4) [2]=> int(5) } [3]=> array(1) { [0]=> int(6) } [4]=> array(1) { [0]=> int(7) } } Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 Notice: Array to string conversion in /in/6hegj on line 25 ArrayArrayArrayArrayArray Warning: iterator_to_array() expects exactly 1 parameter, 2 given in /in/6hegj on line 26 Warning: implode(): Argument to implode must be an array. in /in/6hegj on line 26 ArrayArrayArrayArrayArray
Output for 5.0.0 - 5.0.5
Fatal error: Class 'RecursiveArrayIterator' not found in /in/6hegj on line 23
Process exited with code 255.
Output for 4.3.2 - 4.4.9
Fatal error: Cannot instantiate non-existent class: recursivearrayiterator in /in/6hegj on line 23
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Cannot instantiate non-existent class: recursivearrayiterator in /in/6hegj on line 23