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

Tu aimerais progresser en PHP ? Mais tu ne sais pas comment t'y prendre ?

S'entraîner pour progresser en PHP

Mon programme "S'entraîner pour progresser en PHP" va bientôt ouvrir ses portes. Il te permettra de recevoir chaque semaine un kata de code directement dans ta boîte mail, ainsi que des aides à la réalisation, des vidéos explicatives, voire des live coding et de la review.

Si tu es intéressé(e), clique sur le bouton ci-dessous pour avoir plus d'informations et t'inscrire afin d'être prévenu(e) de l'ouverture de ce programme.