OUJOOD.COM
Pour comprendre l'état de vos données pendant le développement, PHP propose deux fonctions d'inspection : print_r() et var_dump(). Elles permettent de visualiser le contenu de variables complexes, comme les tableaux ou les objets, qui ne peuvent pas être affichés simplement avec echo.
Étape 1 — Visualiser une structure avec print_r()
print_r() est la fonction idéale pour obtenir une version lisible et humaine d'une variable. Elle transforme la structure interne d'un tableau en une représentation textuelle simple, ce qui est parfait pour vérifier rapidement les clés et les valeurs associées.
<?php
$fruits = array ('a' => 'pomme', 'b' => 'banane', 'c' => array ('x', 'y', 'z'));
# On entoure de <pre> pour conserver le formatage et les sauts de ligne
echo '<pre>';
print_r($fruits);
echo '</pre>';
?>
Résultat attendu :
Array
(
[a] => pomme
[b] => banane
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
Le résultat affiche clairement la hiérarchie des données. ⚠ Si vous n'utilisez pas la balise <pre>, le résultat sera affiché sur une seule ligne dans votre navigateur, rendant la lecture difficile.
Étape 2 — Analyser en profondeur avec var_dump()
var_dump() est l'outil de diagnostic complet. Contrairement à print_r(), elle affiche non seulement la valeur, mais aussi le type de la donnée (string, int, array) et la longueur des chaînes. C'est l'outil indispensable pour comprendre pourquoi un test conditionnel échoue à cause d'une différence de type.
<?php
$valeur = 42;
$fruits = array("pomme", "banane");
var_dump($valeur);
var_dump($fruits);
?>
Résultat attendu :
int(42)
array(2) {
[0]=> string(5) "pomme"
[1]=> string(6) "banane"
}
Vous pouvez voir précisément que int(42) indique un entier, et que string(5) "pomme" indique une chaîne de 5 caractères.
Récapitulatif : le cycle complet en un seul script
<?php $data = ['id' => 1, 'nom' => 'Test']; echo "--- print_r pour la lecture ---\n"; print_r($data); echo "\n--- var_dump pour le debug technique ---\n"; var_dump($data); ?>
Par carabde : 20 Août 2014 | Mis à jour le 9 Juin 2026