3v4l.org

run code in 300+ PHP versions simultaneously
<?php $testArray= array( 'test1' => 'SingleValue1', 'test2' => 'SingleValue2', 'test3' => array(0,1,2), 'test4' => array(array(3,4,array(5,6,7)), array(8,9,array(10,11,12)),13,14), 'test5' => array(15,16,17, array(18,19,20)) ); function deepestArrays($array,$level=0,&$lowest=[]){ if(sizeof($subarrays=array_filter($array,function($v){return is_array($v);}))){ // isolate subarrays, iterate if any foreach($subarrays as $subs){ deepestArrays($subs,$level+1,$lowest); // recurse each subarray } }else{ if(!sizeof($lowest) || ($lowest_level=key($lowest))==$level){ // if $levels is empty or current $level equals $lowest_level $lowest[$level][]=$array; // append the array to the results }elseif($lowest_level<$level){ $lowest=[$level=>[$array]]; // clear previous storage, store new lowest array } } return current($lowest); // use current() to strip the temporary level identifying key } var_export(deepestArrays($testArray));
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
array ( 0 => array ( 0 => 5, 1 => 6, 2 => 7, ), 1 => array ( 0 => 10, 1 => 11, 2 => 12, ), )
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/unVR5 on line 10
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[' in /in/unVR5 on line 10
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected '=', expecting ')' in /in/unVR5 on line 10
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected '=', expecting ')' in /in/unVR5 on line 10
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `')'' in /in/unVR5 on line 10
Process exited with code 255.

preferences:
359.82 ms | 401 KiB | 466 Q