Comprendre les instructions echo et print en PHP
Découvrez echo et print en PHP : comment afficher du texte, leurs différences, et quand utiliser l'un ou l'autre dans vos scripts.
Afficher du texte est la première chose que font la plupart des programmes PHP, et PHP vous offre deux outils pour cela : echo et print. Ils semblent interchangeables, et pour un usage quotidien ils le sont — mais leur fonctionnement interne diffère. Ce sont tous deux des constructions du langage (pas des fonctions au sens strict), vous pouvez donc les appeler avec ou sans parenthèses.
Ce chapitre montre comment chacun fonctionne, leurs différences, et lequel utiliser selon les situations. Si vous débutez dans l'affichage de valeurs, il est utile de lire d'abord les articles sur les variables PHP et les chaînes PHP, car echo et print sont le moyen de les afficher.
L'instruction echo en PHP
L'instruction echo affiche une ou plusieurs chaînes. Son utilisation la plus courante est d'afficher un simple texte :
Exemple PHP avec echo
echo ne retourne pas de valeur. La chaîne ci-dessus est envoyée directement dans le tampon de sortie et transmise au navigateur (ou au terminal pour les scripts CLI).
Afficher des variables et des expressions
Vous pouvez afficher des variables directement, ou construire une chaîne plus longue avec l'opérateur de concaténation . :
Concaténation de chaînes avec echo en PHP
Dans les chaînes entre guillemets doubles, les variables sont interpolées automatiquement, ce qui évite souvent la concaténation :
<?php
$num = 5;
echo "The value of num is: $num"; // The value of num is: 5
echo 'The value of num is: $num'; // The value of num is: $numLes guillemets simples sont traités littéralement — $num est affiché tel quel. Consultez les chaînes PHP pour les règles complètes.
Passer plusieurs arguments
Une fonctionnalité que print n'a pas : echo accepte plusieurs arguments séparés par des virgules et les affiche dans l'ordre. Cela peut être légèrement plus rapide que la concaténation, car PHP ne construit pas une seule grande chaîne au préalable :
<?php
echo "Red", " ", "Green", " ", "Blue", "\n";
// Output: Red Green BlueRemarque : la forme avec virgule ne fonctionne que si vous appelez
echosans parenthèses.echo("a", "b")est une erreur de syntaxe.
La balise echo courte
Lorsque vous mélangez PHP dans du HTML, <?= ... ?> est un raccourci pour <?php echo ... ?> — pratique dans les templates :
<p>Welcome, <?= $name ?>!</p>L'instruction print en PHP
print affiche également du texte, mais avec une particularité importante : il retourne toujours la valeur 1. Cette valeur de retour permet d'utiliser print dans des expressions, là où echo provoquerait une erreur de syntaxe :
Exemple PHP avec print
Parce qu'il retourne 1, print est parfois utilisé dans des expressions conditionnelles sur une ligne comme $ok or print "failed";. En pratique, c'est rare — la plupart du code l'utilise simplement comme echo.
Comme echo, print gère les variables et les expressions :
Concaténation de chaînes avec print en PHP
Une chose à retenir : print n'accepte qu'un seul argument. Vous ne pouvez pas écrire print "a", "b";.
Comparaison entre echo et print
| Fonctionnalité | echo | print |
|---|---|---|
| Retourne une valeur | Non | Retourne toujours 1 |
| Utilisable dans une expression | Non | Oui ($x = print "hi";) |
| Arguments multiples | Oui (echo $a, $b;) | Non — un seul argument |
| Vitesse | Légèrement plus rapide | Légèrement plus lent |
Quelques points pratiques à retenir :
- La différence de vitesse est négligeable pour les applications réelles — c'est une micro-optimisation que vous ne remarquerez presque jamais. Choisissez en fonction de la lisibilité, pas des performances.
- Utilisez
echopour l'affichage normal. C'est le choix conventionnel et il prend en charge plusieurs arguments. - Recourez à
printuniquement lorsque vous avez réellement besoin de sa valeur de retour dans une expression.
Conclusion
echo et print sont tous deux des constructions du langage permettant d'envoyer du texte vers la sortie. Utilisez echo par défaut — c'est le choix idiomatique qui accepte plusieurs arguments — et utilisez print uniquement lorsque vous avez spécifiquement besoin d'une valeur de retour. Pour aller plus loin, consultez les articles sur les variables PHP, les chaînes PHP et les types de données PHP.