Afficher le contenu d'une variable à l’écran

Il existe bien évidemment plusieurs manières d'afficher le contenu d'une variable à l'écran. Les plus simples étant :

$var = 'a';

echo $var;
// ou
print $var;
// Affiche : a

Savez-vous d'ailleurs que vous pouvez passer plusieurs "arguments" à la fonction echo ?

$foo = "a";
$bar = "b";

echo $foo, "-", $bar;
// Affiche : a-b

Mais dans le cadre de debug, vous pouvez avoir besoin d'afficher des choses plus "complexes", comme un tableau par exemple. Plusieurs choix s'offrent à vous :

  • var_dump : va afficher le contenu de la variable ainsi que les types de ce qu'elle contient :
$var = 'a';
var_dump($var);

// Affiche : string(1) "a"

Sur un tableau par exemple :

$var = [1, "a", "foo" => "bar"];
var_dump($var);

// Affiche
array(3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  ["foo"]=>
  string(3) "bar"
}
  • var_export : celui-ci va vous afficher le contenu de la variable sous une forme que vous n'aurez plus qu'à copier-coller et injecter dans votre code !
$var = 'a';
var_export($var);

// Affiche : 'a'

Vous voyez la différence avec echo ? var_export affiche les quotes autour de la valeur.

Et sur un tableau par exemple :

$var = [1, "a", "foo" => "bar"];
var_export($var);

// Affiche
array (
  0 => 1,
  1 => 'a',
  'foo' => 'bar',
)

Vous n'avez plus qu'à copier-coller ce contenu dans votre code si vous en avez besoin !

var_export prend aussi en deuxième argument un booléen qui va retourner la valeur plutôt que l'afficher. Pratique si on veut écrire la valeur dans un fichier !

$var = [1, "a", "foo" => "bar"];
file_put_contents('/tmp/debug', var_export($var, true));

Le fichier /tmp/debug contiendra :

array (
  0 => 1,
  1 => 'a',
  'foo' => 'bar',
)

Vous aimeriez progresser en PHP ? Mais vous ne savez pas comment vous y prendre ?

S'entraîner pour progresser en PHP

Mon programme "S'entraîner pour progresser en PHP" est disponible. Il vous permettra de recevoir chaque semaine un kata de code directement dans votre boîte mail, ainsi que des aides à la réalisation, des vidéos explicatives et des défis supplémentaires.

Reçois dès maintenant un kata gratuit en cliquant sur le bouton ci-dessous.