Многомерный массив неизвестной глубины в одномерном массиве и соответствующие ключи в PHP [дубликаты]

На этот вопрос уже есть ответ:

Как сгладить многомерный массив? 25 ответов

У меня есть рекурсивная функция, откачивающая данные, которые выглядят та

Array
(
[17] => Array
    (
        [cat_id] => 17
        [cat_name] => test.example.1
        [cat_parent] => 16
        [cat_slug] => Test Example 1
    )

[18] => Array
    (
        [16] => Array
            (
                [cat_id] => 16
                [cat_name] => test.example.2
                [cat_parent] => 15
                [cat_slug] => Test Example 2
            )

        [17] => Array
            (
                [15] => Array
                    (
                        [cat_id] => 15
                        [cat_name] => test.example.3
                        [cat_parent] => 6
                        [cat_slug] => Test Example 3
                    )

                [16] => Array
                    (
                        [6] => Array
                            (
                                [cat_id] => 6
                                [cat_name] => test.example.4
                                [cat_parent] => 2
                                [cat_slug] => Test Example 4
                            )

                        [7] => Array
                            (
                                [2] => Array
                                    (
                                        [cat_id] => 2
                                        [cat_name] => test.example.5
                                        [cat_parent] => 0
                                        [cat_slug] => Test Example 5
                                    )

                            )

                    )

            )

    )

)

Я не могу найти способ создания этого массива в одном измерении, поэтому я надеюсь, что кто-то может помочь сделать его одномерным с некоторым воспроизведением массива, сохранив соответствующие ключи.

пример

 Array
 (
   [17] => Array
   (
    [cat_id] => 17
    [cat_name] => test.example.1
    [cat_parent] => 16
    [cat_slug] => Test Example 1
 )

    [16] => Array
 (
    [cat_id] => 16
    [cat_name] => test.example.2
    [cat_parent] => 15
    [cat_slug] => Test Example 2
  )


    [15] => Array
  (
    [cat_id] => 15
    [cat_name] => test.example.3
    [cat_parent] => 6
    [cat_slug] => Test Example 3
   )


    [6] => Array
   (
    [cat_id] => 6
    [cat_name] => test.example.4
    [cat_parent] => 2
    [cat_slug] => Test Example 4
   )


    [2] => Array
   (
    [cat_id] => 2
    [cat_name] => test.example.5
    [cat_parent] => 0
    [cat_slug] => Test Example 5
   )

  )

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

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