У меня есть меню, построенное через многомерный массив.Текущий элемент устанавливается путем сопоставления его атрибута url с текущим запросом.Я хочу, чтобы это значение всплыло перед его родителями, но я не могу на всю жизнь заставить его работать - я уверен, что я был близок, но это оказывается немного сложным.Вот массив:
Array
(
[children] => Array
(
[Home] => Array
(
[url] => /
)
[The Challenge] => Array
(
[url] => /challenge
)
[The Finish] => Array
(
[url] => /finish
)
[Latest News] => Array
(
[url] => /latest_news
)
[Participants] => Array
(
[url] => /participants
[children] => Array
(
[Some guy] => Array
(
[url] => /participants/some_guy
[children] => Array
(
[Hats] => Array
(
[url] => /participants/some_guy/hats
[current] => 1
По сути, я ищу функцию, которая будет перебирать каждый элемент, пока не найдет флаг [current], а затем не передаст это значение обратно его родителям.В меню нет установленных ограничений по глубине.
Для приведенного выше примера это может привести к:
Array
(
[children] => Array
(
[Home] => Array
(
[url] => /
)
[The Challenge] => Array
(
[url] => /challenge
)
[The Finish] => Array
(
[url] => /finish
)
[Latest News] => Array
(
[url] => /latest_news
)
[Participants] => Array
(
[url] => /participants
[current] => 1
[children] => Array
(
[Some guy] => Array
(
[url] => /participants/some_guy
[current] => 1
[children] => Array
(
[Hats] => Array
(
[url] => /participants/some_guy/hats
[current] => 1