PHP Percorra a matriz multidimensional enquanto preserva as chaves

Eu tenho uma matriz multidimensional da qual não sei a profundidade. A matriz pode, por exemplo, ter a seguinte aparência:

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

Com essa matriz, quero criar um sumário. Isso significa que as chaves precisam ser preservadas, pois eu as uso como "números de capítulo". Por exemplo, "testvalue1" está no capítulo 1.5.3.
Agora quero percorrer a matriz preservando todas as chaves - não usando array_walk_recursive, pois as chaves que contêm outra matriz são descartadas (correto?) E, de preferência, não usando loops foreach aninhados, considerando a velocidad
Alguma sugestão de como devo fazer isso? Desde já, obrigado

PS: Para o meu script, não importa se as chaves são cadeias de caracteres ("1" em vez de 1) ou números inteiros, se ter cadeias de caracteres como chave fará com que array_walk_recursive as preserv

questionAnswers(3)

yourAnswerToTheQuestion