ОК, вот проблема я столкнулся, и это довольно сложный:Как фильтровать многомерный массив на основе разрешенных ключей
- Я имею многомерный массив (это может быть просто массив или он может идти на несколько уровней)
- У меня есть набор «разрешенных» ключей (также содержащих ключи «parent.child»)
- В конечном массиве нам нужны только цифровые клавиши и разрешенные ключи , Все остальное нужно отбросить из финального стола.
Пример Первоначальный массив:
Array
(
[0] => Array
(
[Title] => La science des rêves
[Year] => 2006
[Director] => Array
(
[Name] => Michel Gondry
[BirthYear] => 1963
[BirthPlace] => Versailles, Yvelines, France
)
)
[1] => Array
(
[Title] => Arizona Dream
[Year] => 1992
[Director] => Array
(
[Name] => Emir Kusturica
[BirthYear] => 1954
[BirthPlace] => Sarajevo, Bosnia and Herzegovina, Yugoslavia
)
)
)
Пример разрешенные ключи:
Array
(
[0] => Title
[1] => Director.Name
[2] => Director.BirthYear
)
Я хочу, чтобы отфильтровать его так, чтобы конечный массив содержит только вышеуказанные клавиши (числовой ключи будут сохранены без учета того, что):
Array
(
[0] => Array
(
[Title] => La science des rêves
[Director.Name] => Michel Gondry
[Director.BirthYear] => 1963
)
[1] => Array
(
[Title] => Arizona Dream
[Director.Name] => Emir Kusturica
[Director.BirthYear] => 1954
)
)
Любые идеи о том, как это сделать? Я изо всех сил боролся с часами, со всякими рекурсивными функциями, но мне всегда казалось что-то не хватает ...: S
Впечатляет и сверхбыстрой. Что еще я могу сказать? Благодарю. Благодарю. Благодарю. :-) –
@ Dr.Kameleon: Рад помочь. Посмотрите на функции, которые я использовал, у PHP много полезных строительных блоков. Построение решения не так сложно, как только вы узнаете, что они там. – Jon
Я знаю о мощной библиотеке функций PHP и - хотя я ее ненавидят «визуально» - это одна из главных причин, по которой мне это нравится. Тем не менее, моя главная проблема здесь заключалась в том, что это ... команда 'unset', которая вызвала у меня в прошлом довольно странные проблемы, чтобы я боялся этого ... –