@f0stgis

Как пересобрать массив до необходимого конечного элемента массива, исключив другие ненужные массивы?

Помогите написать функцию для обработки массива

Допустим, имеем массив:

Array
(
    [name] => 1           
    [code] => 1
    [size] => 1
    [children] => Array
        (
            [0] => Array
                (
                    [name] => 11
                    [code] => 11
                    [size] => 2
                    [children] => Array
                        (
                            [0] => Array
                                (
                                    [name] => 111
                                    [code] => 111
                                    [finish] => 1
                                    [size] => 3
                                )
                            
                            [1] => Array
                                (
                                    [name] => 112
                                    [code] => 112
                                    [size] => 3
                                )

                            [2] => Array
                                (
                                    [name] => 113
                                    [code] => 113
                                    [size] => 3
                                )

                        )

                )

            [1] => Array
                (
                    [name] => 12
                    [code] => 12
                    [size] => 2
                    [children] => Array
                        (
                            [0] => Array
                                (
                                    [name] => 121
                                    [code] => 121
                                    [size] => 3
                                    [children] => Array
                                        (
                                        )

                                )

                            [1] => Array
                                (
                                    [name] => 122
                                    [code] => 122
                                    [size] => 3
                                    [children] => Array
                                        (
                                        )

                                )

                            [2] => Array
                                (
                                    [name] => 123
                                    [code] => 123
                                    [size] => 3
                                    [children] => Array
                                        (
                                        )

                                )

                        )

                )

            [2] => Array
                (
                    [name] => 13
                    [code] => 13
                    [size] => 2
                    [children] => Array
                        (
                            [0] => Array
                                (
                                    [name] => 111
                                    [code] => 111
                                    [finish] => 1
                                    [size] => 3
                                )

                        )

                )

        )

)


После обработки функции необходимо применить его к такому виду:

Array
(
    [name] => 1           
    [code] => 1
    [size] => 1
    [children] => Array
        (
            [0] => Array
                (
                    [name] => 11
                    [code] => 11
                    [size] => 2
                    [children] => Array
                        (
                            [0] => Array
                                (
                                    [name] => 111
                                    [code] => 111
                                    [finish] => 1
                                    [size] => 3
                                )

                        )

                )

            [1] => Array
                (
                    [name] => 13
                    [code] => 13
                    [size] => 2
                    [children] => Array
                        (
                            [0] => Array
                                (
                                    [name] => 111
                                    [code] => 111
                                    [finish] => 1
                                    [size] => 3
                                )

                        )

                )

        )

)


Параметром определения нужного пути является ключ [finish], то есть все пути от 1 до 111
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:21
1200 руб./в час
26 апр. 2024, в 10:10
1000 руб./за проект