Manuel PHP
Précédent |  | Suivant

# 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 sera 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.

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>`

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é.

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 array ou un object 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().

Précédent | Sommaire | Suivant
isset | Niveau supérieur | serialize