3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = [ ['level' => 1, 'data' => [['level' => 2],['level' => 3, 'data' => [['level' => 6]]]]], ['level' => 4], ['level' => 9, 'data' => [['level' => 8]]], ]; function flat($data, &$list = []) { foreach ($data as $key => $value) { if (isset($value['data']) && is_array($value['data'])) { $tmp = $value['data']; unset($value['data']); flat($tmp, $list); } $list[] = $value; } return $list; } print_r(flat($arr));

preferences:
30.43 ms | 404 KiB | 5 Q