PHP Walk через многомерный массив с сохранением ключей

У меня есть многомерный массив, я не могу знать глубину. Например, массив может выглядеть так:

$array = array(
    1 => array(
        5 => array(
            3 => 'testvalue1'
        )
    ),
    2 => array(
        6 => 'testvalue2'
    ),
    3 => 'testvalue3',
    4 => 'testvalue4',
);

С этим массивом я хочу создать оглавление. Это означает, что ключи должны быть сохранены, поскольку я использую их как «номера глав». Например, «testvalue1» находится в главе 1.5.3.
Теперь я хочу пройтись по массиву, сохранив все ключи - не используя array_walk_recursive, поскольку ключи, содержащие другой массив, отбрасываются (правильно?) И, предпочтительно, не использовать вложенные циклы foreach с учетом скорости.
Любые предложения, как я должен это сделать? Заранее спасибо.

PS: для моего сценария не имеет значения, являются ли ключи строками («1» вместо 1) или целыми числами, если наличие строки в качестве ключа заставит array_walk_recursive сохранить их.

Ответы на вопрос(3)

Ваш ответ на вопрос