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 сохранить их.