print_r

(PHP 4 , PHP 5)

print_r -- Affiche des informations lisibles pour une variable

Description

bool 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() et var_export() afficheront également les propriétés protégées et privées d'un objet en PHP 5, contrairement à var_dump().

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 1. 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).

Exemple 2. 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().