Approche itérative de l'itération des tableaux multidimensionnels
La transformation de tableaux multidimensionnels en XML peut être réalisée grâce à diverses techniques. Bien que les méthodes récursives fournissent une solution complète, cet article se concentre sur une approche itérative utilisant un itérateur personnalisé.
Classe TransformArrayIterator
Le TranformArrayIterator étend la classe RecursiveIteratorIterator, offrant des fonctionnalités supplémentaires pour la génération XML.
<code class="php">class TranformArrayIterator extends RecursiveIteratorIterator { // Custom functionality for outputting indentation, XML tags, etc. }</code>
Assemblage de l'itérateur
Pour créer l'itérateur, nous enveloppons un RecursiveArrayIterator avec notre itérateur personnalisé :
<code class="php">$nodes = ...; $iterator = new TranformArrayIterator(new RecursiveArrayIterator($nodes));</code>
Itération et sortie
Nous pouvons ensuite parcourir l'itérateur, faisant écho à la sortie personnalisée :
<code class="php">foreach ($iterator as $val) { echo $val; }</code>
Format de sortie
Cela produira une sortie XML structurée comme suit :
<code class="xml"><nodes> <node>parent node</node> <node>parent node</node> <nodes> <node>child node</node> <node>child node</node> <nodes> <node>grand child node</node> <node>grand child node</node> </nodes> </nodes> </nodes></code>
Améliorations supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!