У меня есть многомерный массив, похожий на этот:Как распечатать все элементы многомерного массива с пользовательской разметкой?
(
[0] (
title: 'First Group'
type: 'group'
children: (
[0] (
title: 'Inner Group'
type: 'group'
children: (
[0] (
title: 'Deep image'
type: 'image'
)
[1] (
title: 'Another deep image'
type: 'image'
)
)
)
)
)
[1] (
title: 'Root depth image'
type: 'image'
)
)
Я хочу, чтобы иметь возможность работать мой путь через этот массив, и все это дети (этот массив может быть бесконечно рекурсивным), чтобы напечатать/эхо содержания в браузер.
У меня есть возможность указать определенную разметку (и даже выполнить условные обозначения для каждого элемента) для разных типов элементов.
Например. Распечатайте заголовок каждого изображения только в том случае, если оно соответствует регулярному выражению и т. Д.
Единственный метод, который я могу понять, который будет рекурсивно сортировать по массиву, должен быть методом/функцией, который вызывает себя всякий раз, когда обнаружены дети, но это кажется, что я не смогу выполнить условные обозначения, если это так.
Если существует цикл (не используется функция), это, вероятно, будет наиболее подходящим вариантом, поэтому у каждого ребенка я могу выполнить любые необходимые условия для каждого элемента. Я пробовал с , а и foreach Петли, но безрезультатно.
NB: Я скомпилировал этот массив из двух исходных массивов, которые не были рекурсивными, и могут использовать эти массивы, имеющие связанные ключи, если это помогает решению.
и иметь метод ходьбы как общий модуль, доступный в вашем коде, и использовать его везде, как вы используете foreach/while – kalyan 2010-11-26 09:22:09