Print_r like - PHP - Programmation
Marsh Posté le 12-11-2008 à 07:58:46
pour le tableau tu dois avoir un test si c'est un array (is_array)
donc en faite tu recupere son indice et valeur avec un foreach au lieu de recupere sa valeur ceux qui te donnera la meme chose
soit
foreach($maval as $id=>$val){
}
Marsh Posté le 12-11-2008 à 08:27:34
Merci pour ta réponse, mais
je fait déjà comme ça, c'est juste que print_r semble rajouter des clefs quand on a deux fois la même clef (courant pour du XML).
Je vous colle mon code, comme ça si il y en a qui veulent l'utiliser, il fonctionne déja trés bien, mais la différence avec print_r me dérange encore :
function debug_r($var, $print=true, $tab='') { |
Je pense que le bug peut venir du fait que l'objet SimpleXMLElement contient des fonctions pour guider foreach, et donc nous "caches" certains paramètres...
Si quelqu'un connai un moyen d'obtenir la même chose que print_r je suis trés preneur.
Marsh Posté le 12-11-2008 à 10:34:41
regarde cela
http://www.php.net/SimpleXML
et prend les fonction que tu as besoin le type simpleXML est assez particulier
Je l'utilise tous les jours
Marsh Posté le 12-11-2008 à 10:38:42
Bonjour, merci pour la réponse.
Je connais bien SimpleXML, je rédige le tuto sur ça justement, mais le probleme ne vien pas forcément de SimpleXML, je voudrais une fonction qui affiche exactement la même chose que print_r.
Et que même pour les classe "spéciales" comme SimpleXML, je me retrouve avec la même chose mais coloré...
Voila, je sait pas si c'est possible...
Marsh Posté le 12-11-2008 à 10:41:44
creér une variable $i avant le parcours de cette object xml et incrémente sa valeur a chaque passage et écrit sa valeur en id de la valeur du tableau ceci reprendra le meme principe que pour print_r
Marsh Posté le 12-11-2008 à 12:27:43
Code :
|
Marsh Posté le 12-11-2008 à 13:44:36
Bonjour CAJAX,
Merci pour ta réponse, mais essaye de lire ce que j'ai écrit...
Je veux un résultat identique a print_r, ce qui n'est pas le clas avec var_export, et highlight_string ne fonctionne pas avec print_r, n'en reconnaissant pas la syntaxe...
Je croie que je vais finir par refaire une fonction du genre de highlight_string, mais qui parse un print_r, si j'avais pu éviter ça aurais était pamal...
Si vous voyez une solution...
Marsh Posté le 12-11-2008 à 15:10:20
Oui je croie que c'est finalement la solution la plus simple aussi j'ai pondu la solution suivante :
|
La premiere permet d'appeler la deuxième avec une variable en argument, la deuxième permet de colorer le résultat d'un print_r.
J'ai utiliser le paramètre $return pour calquer le fonctionnement de print_r et highlight_string
Merci a tous pour vos réponses, et bonne journée !
Marsh Posté le 11-11-2008 à 23:58:27
Bonjour à tous !
Pour les besoins d'un tuto, je voulais faire un print_r qui soit joli (une sorte de coloration syntaxique), j'ai presque réussit, seulement il semblerais que print_r affiche des choses que je n'ai pas avec foreach...
Petit exemple :
//Ma fonction affiche :
[prenom] => Prenom de l'utilisateur
[numeros] => SimpleXMLElement Object
(
[numero] => 0102030405
[numero] => 0212345678
)
//Alors que print_r affiche :
[prenom] => Prenom de l'utilisateur
[numeros] => SimpleXMLElement Object
(
[numero] => Array
(
[0] => 0102030405
[1] => 0212345678
)
)
Print_r m'affiche aussit defois un [@attribute] alors que ma fonction ne les affiche jamais.
Quelqu'un aurais une idée ?
PS : Mon but et d'obtenir un print_r coloré, si quelqu'un connais un autre solution, mais je doit garder la forme du print_r pour ne pas dérouter les lecteurs.
Merci d'avance pour vos réponses !