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',
)

Cet article t'a plu ? Si oui, je te propose de t'inscrire à ma dev letter pour recevoir régulièrement dans ta boîte mail mes conseils, mes nouveaux articles, des vidéos à voir, des outils à découvrir et encore bien d’autres choses.

Je m'inscris