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