J'ai un tableau multidimensionnel semblable à ceci:Comment imprimer tous les éléments d'un tableau multidimensionnel avec un balisage personnalisé?
(
[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'
)
)
Je veux être en mesure de me frayer un chemin à travers ce tableau et tous ses enfants (ce tableau pourrait être infiniment récursive) pour imprimer/écho du contenu sur le navigateur. Le problème que j'ai est de pouvoir spécifier un certain balisage (et même effectuer des conditions sur chaque élément) pour les différents types d'éléments.
Par exemple. Imprimer le titre de chaque image seulement si elle correspond à une expression régulière, etc.
La seule méthode que je peux comprendre qui triera récursivement un tableau doit être une méthode/fonction qui s'appelle chaque fois que des enfants sont trouvés, mais il semble que je ne serai pas en mesure d'effectuer les conditions si c'est le cas.
Si un processus de boucle (n'utilisant pas de fonction) existe, ce serait probablement l'option la plus appropriée, donc pour chaque enfant, je peux effectuer toutes les conditions requises par élément. J'ai essayé avec tandis que et foreach boucles mais en vain.
NB: J'ai compilé ce tableau à partir de deux tableaux source qui n'étaient pas récursifs, et pourrait utiliser ces tableaux qui ont des clés connexes, si cela aide la solution.
et avoir la méthode de marche comme module commun disponible dans votre code et l'utiliser partout comme vous utilisez foreach/alors – kalyan
Merci ce concept est exactement ce que je suis après. J'ai effectivement étendu cela pour permettre des chaînes avec des espaces réservés, ou des fonctions personnalisées, en fonction de ce qui est requis sur une base par article – Rhys