public static function multiarray_keys($ar, $level = 0, $sl = 0) { if ($level && $level < $sl) { return; } $keys = array(); foreach ($ar as $k => $v) { $keys[] = $k; if (is_array($ar[$k])) { if ($ke = XARRAY::multiarray_keys($ar[$k], $level, $sl + 1)) { $keys = array_merge($keys, $ke); } } } return array_unique($keys); }