F
F
f0stgis2019-10-12 02:46:35
PHP
f0stgis, 2019-10-12 02:46:35

How to rebuild an array up to the required final element of the array, excluding other unnecessary arrays?

Help me write a function to process an array
Let's say we have an array:

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
                                )

                        )

                )

        )

)

After processing the function, you need to apply it to this form:
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
                                )

                        )

                )

        )

)

The parameter for determining the desired path is the [finish] key, that is, all paths from 1 to 111

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question