Как сделать выборку из массива?

У меня есть функция, которая формирует массив с данными по категориям...
Хочу написать функцию, в которую бы мог передать идентификатор и функция вернула бы мне цепочку из массива со всеми вложенными массивами начиная с того, у кого значение id содержит эту цифру.

Вот сама структура массива. Может подскажете как это лучше сделать?
Array
(
    [1] => Array
        (
            [userID] => 6482
            [id] => 1
            [inFolder] => 0
            [name] => Видео
            [childs] => Array
                (
                    [6] => Array
                        (
                            [userID] => 6482
                            [id] => 6
                            [inFolder] => 1
                            [name] => фильмы
                            [childs] => Array
                                (
                                    [7] => Array
                                        (
                                            [userID] => 6482
                                            [id] => 7
                                            [inFolder] => 6
                                            [name] => Триллер
                                        )

                                    [8] => Array
                                        (
                                            [userID] => 6482
                                            [id] => 8
                                            [inFolder] => 6
                                            [name] => Ужасы
                                            [childs] => Array
                                                (
                                                    [10] => Array
                                                        (
                                                            [userID] => 6482
                                                            [id] => 10
                                                            [inFolder] => 8
                                                            [name] => 80-е
                                                        )

                                                    [11] => Array
                                                        (
                                                            [userID] => 6482
                                                            [id] => 11
                                                            [inFolder] => 8
                                                            [name] => 90-е
                                                        )

                                                )

                                        )

                                    [9] => Array
                                        (
                                            [userID] => 6482
                                            [id] => 9
                                            [inFolder] => 6
                                            [name] => Мелодрамы
                                        )

                                )

                        )

                )

        )

    [2] => Array
        (
            [userID] => 6482
            [id] => 2
            [inFolder] => 0
            [name] => Аудио
        )

    [3] => Array
        (
            [userID] => 6482
            [id] => 3
            [inFolder] => 0
            [name] => Изображения
        )

    [4] => Array
        (
            [userID] => 6482
            [id] => 4
            [inFolder] => 0
            [name] => Гифки
        )

    [5] => Array
        (
            [userID] => 6482
            [id] => 5
            [inFolder] => 0
            [name] => VK изображения
        )

)

К примеру, передаю идентификатор 6.
По итогу нужно с массива где [id] => 6 (не путать с ключом массива) получить всю цепочку:
[6] => Array
                        (
                            [userID] => 6482
                            [id] => 6
                            [inFolder] => 1
                            [name] => фильмы
                            [childs] => Array
                                (
                                    [7] => Array
                                        (
                                            [userID] => 6482
                                            [id] => 7
                                            [inFolder] => 6
                                            [name] => Триллер
                                        )

                                    [8] => Array
                                        (
                                            [userID] => 6482
                                            [id] => 8
                                            [inFolder] => 6
                                            [name] => Ужасы
                                            [childs] => Array
                                                (
                                                    [10] => Array
                                                        (
                                                            [userID] => 6482
                                                            [id] => 10
                                                            [inFolder] => 8
                                                            [name] => 80-е
                                                        )

                                                    [11] => Array
                                                        (
                                                            [userID] => 6482
                                                            [id] => 11
                                                            [inFolder] => 8
                                                            [name] => 90-е
                                                        )

                                                )

                                        )

                                    [9] => Array
                                        (
                                            [userID] => 6482
                                            [id] => 9
                                            [inFolder] => 6
                                            [name] => Мелодрамы
                                        )

                                )

                        )
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Рекурсивный обход массива с поиском нужного элемента.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы