isoler cle + valeur d'un print_r

ikigami371
Invité n'ayant pas de compte PHPfrance

17 nov. 2009, 16:46

Bonjour à tous,

Existe t'il un moyen d'isoler les clés + valeur retournés par un print_r afin d'avoir un affichage plus net ?

Merci pour votre retour.
Cordialement,

Mammouth du PHP | 2937 Messages

17 nov. 2009, 17:48

Et pourquoi ne pas passer par une boucle foreach ? ;)

ViPHP
ViPHP | 2287 Messages

17 nov. 2009, 17:56

Bonjour,

il y a aussi var_dump qui donne un affichage légèrement différent de print_r, à essayer ;)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 369 Messages

17 nov. 2009, 18:05

Salut,
Bonjour à tous,
Existe t'il un moyen d'isoler les clés + valeur retournés par un print_r afin d'avoir un affichage plus net ?
Merci pour votre retour.
Cordialement,
Si tu veux savoir s'il est possible de personnaliser l'affichage de print_r: Non, désolé.
Soit tu affiches le résulat tel quel soit tu récupères le résultat dans une variable mais tu ne pourras,
de toute façon, avoir ton propre affichage (à moins de parser le résultat lui-même et en ce cas:
bonjour la perte de temps)

A moins que tu tiennes à utiliser print_r, tu peux utiliser la récursivité:
<?php
   // Ton tableau en exemple 
   //
   $a = Array("UN" => 1, 5, 8, "Trois", "Deux" => "second", Array("A" => "alpha", "Toto" => "Dernier"));

  function listArray($a, $level = 0)
  {
     foreach($a AS $key => $value)
     {
        if (is_array($value) | is_object($value)) listArray($value, $level+=1);
        else
        {
           echo str_repeat("&nbsp;", $level*3);
           echo $key." // ".$value."<br>";
        }
     }
  }

  listArray($a);
?>
Ou mieux encore utiliser une class dédié à cela:
vos-contributions/hierarchie-array-obje ... 49534.html

@+ ;)

ikigami371
Invité n'ayant pas de compte PHPfrance

18 nov. 2009, 08:57

Salut,
Bonjour à tous,
Existe t'il un moyen d'isoler les clés + valeur retournés par un print_r afin d'avoir un affichage plus net ?
Merci pour votre retour.
Cordialement,
Si tu veux savoir s'il est possible de personnaliser l'affichage de print_r: Non, désolé.
Soit tu affiches le résulat tel quel soit tu récupères le résultat dans une variable mais tu ne pourras,
de toute façon, avoir ton propre affichage (à moins de parser le résultat lui-même et en ce cas:
bonjour la perte de temps)

A moins que tu tiennes à utiliser print_r, tu peux utiliser la récursivité:
<?php
   // Ton tableau en exemple 
   //
   $a = Array("UN" => 1, 5, 8, "Trois", "Deux" => "second", Array("A" => "alpha", "Toto" => "Dernier"));

  function listArray($a, $level = 0)
  {
     foreach($a AS $key => $value)
     {
        if (is_array($value) | is_object($value)) listArray($value, $level+=1);
        else
        {
           echo str_repeat("&nbsp;", $level*3);
           echo $key." // ".$value."<br>";
        }
     }
  }

  listArray($a);
?>
Ou mieux encore utiliser une class dédié à cela:
vos-contributions/hierarchie-array-obje ... 49534.html

@+ ;)

Merci pour toutes les réponses.
La fonction que tu as écrites m'est très utile et c'est ce que je recherchais, je vais pouvoir avancer maintenant.

Merci encore.
Bonne journée à tous.

ikigami371
Invité n'ayant pas de compte PHPfrance

18 nov. 2009, 09:50

Bon, finalement j'ai encore un ptit souci.

La fonction marche très bien, problème, dans la "value" j'ai toute les valeurs qui se suivent.
Comment isoler chaque valeur afin de les insérer dans des champs bien distinct dans une base mysql ?
Désolé si ma question peut-être stupide...

Merci pour votre retour.
Cordialement,

Mammouth du PHP | 2937 Messages

18 nov. 2009, 11:03

Bon, finalement j'ai encore un ptit souci.

La fonction marche très bien, problème, dans la "value" j'ai toute les valeurs qui se suivent.
Comment isoler chaque valeur afin de les insérer dans des champs bien distinct dans une base mysql ?
Désolé si ma question peut-être stupide...
explode () ? ;)

ikigami371
Invité n'ayant pas de compte PHPfrance

18 nov. 2009, 11:34

Bon, finalement j'ai encore un ptit souci.

La fonction marche très bien, problème, dans la "value" j'ai toute les valeurs qui se suivent.
Comment isoler chaque valeur afin de les insérer dans des champs bien distinct dans une base mysql ?
Désolé si ma question peut-être stupide...
explode () ? ;)
Salut,

Déjà tenté le "explode" mais toute la variable est contenu dans la 1ere partie que je casse. Je n'arrive pas à casser valeur par valeur, à chaque fois, j'ai toute la chaîne...

Merci
@+ tard

Eléphant du PHP | 369 Messages

19 nov. 2009, 10:21

Salut,
Salut,
Déjà tenté le "explode" mais toute la variable est contenu dans la 1ere partie que je casse. Je n'arrive pas à
casser valeur par valeur, à chaque fois, j'ai toute la chaîne...
Merci
@+ tard
Comment s'organie la chaine que tu veux scinder?
Peux-tu écrire ta chaine originale et celle que tu veux en résultat?

@+ ;)