3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = array( 'key a' => array( 'key b' => 'element b', 'key c' => 'element c', 'key d' => array( 'key e' =>'element e' ), 'key f' => 'element f', 'key g' => 'element g' ), 'key h' => 'element h', 'key i' => array( 'key j' => 'element j', 'key k' => 'element k' ) ); function walk_recursive($arr, &$list = []) { foreach ($arr as $k => $ar) { if (is_array($ar)) { $list[] = $k; walk_recursive($ar, $list); } else { $list[] = $ar; } } return $list; } print_r(walk_recursive($arr));
Output for 7.0.0 - 7.0.20, 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.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Array ( [0] => key a [1] => element b [2] => element c [3] => key d [4] => element e [5] => element f [6] => element g [7] => element h [8] => key i [9] => element j [10] => element k )

preferences:
103.46 ms | 1671 KiB | 4 Q