Получить ключи из многомерного массива рекурсивно

У меня такой многомерный массив. Он находится в форматировании var_dump ().

array(1) { [4]=> array(1) { [2]=> array(1) { [5]=> array(1) { [1]=> array(1) { [3]=> array(1) { [6]=> array(0) { } } } } } } } 

aka $ multiArray, и я хочу получить от него все ключи и настроить их таким образом.

 [0=>4, 1=>2, 2=>5, 3=>1, 4=>3, 5=>6] aka **$keysArray**. 

Пробовал вот так.

 foreach( new \RecursiveIteratorIterator( new \RecursiveArrayIterator(**$multiArray**), \RecursiveIteratorIterator::SELF_FIRST) as $key => $value) { **$keysArray[]** = $key; } 

тоже это.

 function array_keys_multi(array $array) { $keys = []; foreach ($array as $key => $value) { $keys[] = $key; if (is_array($value)) { $keys = array_merge($keys, $this->array_keys_multi($value)); } } return $keys; } 

но оба они возвращают неверные данные. Как я могу получить все ключи?