W3docs

echo()

Le mot-clé "echo" en PHP permet d'afficher une ou plusieurs chaînes. Découvrez la syntaxe et les usages courants de cette instruction.

L'instruction echo en PHP

echo est le moyen le plus courant d'envoyer une sortie depuis un script PHP vers la page. C'est un langage construct, pas une fonction, il n'a donc pas de valeur de retour et vous n'avez pas besoin de parenthèses pour l'appeler. Vous utiliserez echo en permanence : pour afficher du texte, afficher les valeurs de variables et écrire du HTML.

Cette page couvre la syntaxe, le comportement des guillemets simples vs doubles qui piège les débutants, la balise courte <?= ?>, et la façon dont echo diffère de print.

Syntaxe

echo expression;
echo expression1, expression2, ...;

Parce que echo est un langage construct, vous l'appelez sans parenthèses :

echo "Hello";        // correct
echo("Hello");       // also works for a SINGLE argument
echo("a", "b");      // PARSE ERROR — parentheses can't wrap multiple args
echo "a", "b";       // correct way to pass multiple arguments

Passez plusieurs valeurs en les séparant par des virgules — c'est légèrement plus rapide que la concaténation avec . car aucune chaîne temporaire n'est créée. Les valeurs sont imprimées les unes après les autres sans séparateur ajouté.

Exemples

Voyons quelques exemples pratiques de l'utilisation du mot-clé echo :

Exemples de echo en PHP

<?php

// Example 1: Comma-separated arguments (native syntax)
echo "Hello World!", PHP_EOL;

// Output: Hello World!

// Example 2: String concatenation
$myName = "John";
$myAge = 30;
echo "My name is " . $myName . " and I am " . $myAge . " years old.";

// Output: My name is John and I am 30 years old.

// Example 3: Variables without quotes (comma-separated)
$greeting = "Hello";
$name = "World";
echo $greeting, " ", $name, "!";

// Output: Hello World!

Guillemets simples vs doubles

Le style de guillemets que vous choisissez change la façon dont les variables sont traitées, il est donc important de bien comprendre cela dès le départ. Dans les chaînes entre guillemets doubles, PHP analyse les variables et les séquences d'échappement. Dans les chaînes entre guillemets simples, il ne le fait pas — le texte est affiché littéralement.

<?php

$name = "World";

echo "Hello $name\n";   // Hello World  (variable is interpolated)
echo 'Hello $name\n';   // Hello $name\n  (printed verbatim, no newline)

Utilisez des guillemets doubles lorsque vous souhaitez l'interpolation de variables ; utilisez des guillemets simples (légèrement plus rapides) pour du texte brut et littéral. Consultez PHP Strings pour les règles complètes, y compris la syntaxe avec accolades comme "{$user['name']}".

Afficher du HTML avec echo

Une utilisation très courante de echo consiste à afficher du HTML. Vous pouvez intégrer des variables directement dans le balisage :

<?php

$title = "Welcome";
echo "<h1>$title</h1>";
// Output: <h1>Welcome</h1>

Pour les grands blocs de HTML, il est généralement plus propre de sortir complètement de PHP (?> ... <?php) que d'utiliser echo pour chaque ligne.

La balise echo courte

Le raccourci <?= ... ?> est exactement équivalent à <?php echo ... ?>. Il est activé par défaut dans toutes les versions PHP supportées et est idéal pour les templates :

<p>Hello, <?= $name ?>!</p>

C'est la méthode recommandée pour afficher une seule valeur dans des fichiers majoritairement HTML.

echo vs. print

echo et print se ressemblent, mais il existe des différences :

echoprint
Typelangage constructlangage construct
Valeur de retouraucune (void)toujours 1
Arguments multiplesoui (echo $a, $b;)non
Utilisation dans une expressionnonoui (car il retourne une valeur)

Parce que print retourne 1, il peut apparaître dans une expression : $ok = print "hi";. echo ne le peut pas. En pratique, echo est préféré pour la sortie générale. Consultez la comparaison dédiée echo vs print et la référence print pour plus de détails.

Pièges courants

  • Pas de parenthèses avec plusieurs arguments. echo("a", "b"); est une erreur d'analyse ; utilisez echo "a", "b";.
  • echo ne retourne rien. Vous ne pouvez pas écrire $x = echo "hi";. Utilisez print (ou sprintf()) si vous avez besoin d'une valeur.
  • Les guillemets simples n'interpolent pas. echo 'Total: $price'; affiche le littéral $price, pas la valeur de la variable.

Pratique

Pratique
Que fait l'instruction 'echo' en PHP ?
Que fait l'instruction 'echo' en PHP ?
Was this page helpful?