Représentation personalisable d'objets et tableaux

Présentation
Cette fonction prend en paramètre un objet ou un tableau pour le parcourir récursivement et
retourner le contenu formaté grace à sprintf(),donc personalisable.

Le 2eme paramètre, $format est un tableau contenant la "personalisation", c'est a dire des paramètres pris en compte par sprintf().
Il y en a 5 au total :

* Le 1er correspond au formatage d'une variable simple.
* Le 2ème correspond au formatage d'un début de "container", c'est à dire d'un tableau ou d'un objet.
* Le 3ème correspond à la fin d'un container
* Le 4ème est le/les caractère d'indentation
* Le 5ème sert à se repérer dans la fermeture d'une balise, il détermine en fait sur quoi on se base pour le balisage
et stock la bonne valeur dans ce cas, la valeur peut être 'key', 'type', 'val' ou 'depth'.

sprintf() lui même peut prendre 4 paramètres :

* Le 1er est le nom de variable : %1$s
* Le 2eme est son type : %2$s
* Le 3eme est sa valeur : %3$s
* Le 4eme est la profondeur actuelle (cas de tableaux imbriqués) : %4$s

Le 3eme paramètre $prefix sert à régler un cas bien particulier :
un tableau indexé aura uniquement des chiffres comme clés, et si on veut utiliser la clé comme nom de balise en XML, un chiffre n'est pas valide.
On peut donc passer en argument une chaine qui servira de préfixe à toutes les clés commençant par un chiffre.

Grace à ceci, on peut personaliser une sortie allant du XML au CSV en passant par du HTML.
Le format par défaut étant XML.
Détails
Catégories : Tableaux (Array)
Avatar de doof
Membre actif
Voir tous les téléchargements de l'auteur
Licence : Autre
Date de mise en ligne : 15 février 2011




Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Contacter le responsable de la rubrique PHP