print_r

(PHP 4, PHP 5)

print_r — Affiche des informations lisibles pour une variable

Description

mixed print_r ( mixed $expression [, bool $return] )

print_r() affiche des informations à propos d'une variable, de manière à ce qu'elle soit lisible. Pour une chaîne, un entier ou un double, la valeur elle-même sera affichée. Pour les tableaux, les valeurs seront présentées dans un format qui montre les clés et les valeurs. Une notation similaire est disponible pour les objets. print_r() , var_dump() et var_export() afficheront également les propriétés protégées et privées d'un objet en PHP 5.

Gardez en tête que print_r() place le pointeur de tableau à la fin du tableau. Utilisez reset() pour le ramener au début.

Exemple 2771. Exemple avec print_r()

<pre>
<?php
$a 
= array ( 'a'  =>  'pomme' ,
   
'b'  =>  'banane' ,
   
'c'  => array ( 'x' ,
   
'y' ,
   
'z' ));
print_r  ( $a );
?>
</pre>

L'exemple ci-dessus va afficher :


<pre>
 Array
 (
     [a] => pomme
     [b] => banane
     [c] => Array
     (
         [0] => x
         [1] => y
         [2] => z
     )
 )
</pre>

    

Si vous voulez obtenir le résultat de print_r() dans une chaîne, utilisez le paramètre return . Si ce paramètre vaut TRUE , print_r() retournera ce qu'il aurait affiché (ce qu'il fait par défaut).

Note: Cette fonction utilise en interne le buffer de sortie avec ce paramètre, il ne peut donc pas être utilisé dans la fonction de rappel ob_start() .

Exemple 2772. Utilisation du paramètre return de print_r()

<?php
$b 
= array ( 'm'  =>  'mangue' 'foo'  =>  'bar' 'x'  => array ( 'x' 'y' 'z' ));
$resultat  print_r  ( $b true );
//$resultat contient maintenant le résultat de print_r()
?>

Note: Si vous devez récupérer le résultat de print_r() avec une version de PHP plus ancienne que 4.3.0, utilisez les fonctions de bufferisation de sortie .

Note: Le paramètre return a été ajouté en PHP 4.3.0.

Note: Avant PHP 4.0.4, print_r() bouclera à l'infini si un tableau ou un objet contient une référence sur lui-même. Un exemple classique est notamment la ligne print_r($GLOBALS) car $GLOBALS est lui-même une variable globale, qui donc, contient une référence sur elle même.

Voir aussi ob_start() , var_dump() et var_export() .