3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Flatten a multi-dimensional array to a single-level array, * sorting the entries in order to depth first. * * @param array $carry Optional Array to initialize * @param mixed $subject Array or value that has data in potential multi-dimensions. * * @return array */ function array_flatten(?array $carry = [], $subject): array { return array_reduce((array) $subject, function(array $carry, $item) { return is_array($item) ? array_flatten($carry, $item) : array_merge($carry, (array) $item); }, (array) $carry); } print_r(array_flatten(null, array( array('A', array('B', array('CC','CCCC','CCCCCC'), array('DDD','EFG','HIJ','LMNOP') ) ), array('2'), 'b', array(array(),array(),array()), ))); $array = array(1,2,[3,4],5,'six',array(array('78',9)),10); print_r(array_reduce($array, "array_flatten"));
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Deprecated: Optional parameter $carry declared before required parameter $subject is implicitly treated as a required parameter in /in/J1NeJ on line 12 Array ( [0] => A [1] => B [2] => CC [3] => CCCC [4] => CCCCCC [5] => DDD [6] => EFG [7] => HIJ [8] => LMNOP [9] => 2 [10] => b ) Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => six [6] => 78 [7] => 9 [8] => 10 )
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Deprecated: Optional parameter $carry declared before required parameter $subject is implicitly treated as a required parameter in /in/J1NeJ on line 12 Array ( [0] => A [1] => B [2] => CC [3] => CCCC [4] => CCCCCC [5] => DDD [6] => EFG [7] => HIJ [8] => LMNOP [9] => 2 [10] => b ) Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => six [6] => 78 [7] => 9 [8] => 10 )
Output for 8.0.0 - 8.0.30
Deprecated: Required parameter $subject follows optional parameter $carry in /in/J1NeJ on line 12 Array ( [0] => A [1] => B [2] => CC [3] => CCCC [4] => CCCCCC [5] => DDD [6] => EFG [7] => HIJ [8] => LMNOP [9] => 2 [10] => b ) Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => six [6] => 78 [7] => 9 [8] => 10 )
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Array ( [0] => A [1] => B [2] => CC [3] => CCCC [4] => CCCCCC [5] => DDD [6] => EFG [7] => HIJ [8] => LMNOP [9] => 2 [10] => b ) Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => six [6] => 78 [7] => 9 [8] => 10 )
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33
Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in /in/J1NeJ on line 12
Process exited with code 255.

preferences:
220.06 ms | 402 KiB | 291 Q