W3docs

print()

Notre article porte sur la fonction PHP print(), utilisée pour afficher une chaîne de caractères, similaire à echo(). Syntaxe, différences et exemples.

print est une construction de langage PHP qui affiche une chaîne de caractères. C'est l'un des moyens les plus courants d'envoyer du texte au navigateur ou au terminal, aux côtés de echo. Cette page couvre la syntaxe de print, la caractéristique qui le distingue de echo (sa valeur de retour), le comportement des parenthèses et les pièges à éviter.

Une construction de langage — et non une fonction — signifie que print fait partie de la grammaire du langage lui-même. En pratique, c'est pourquoi vous pouvez écrire print "x" sans parenthèses, de la même manière qu'avec echo.

Syntaxe

int print(string $expression)

print prend un seul argument, $expression, qui est converti en chaîne de caractères et écrit dans la sortie. Il retourne toujours 1, ce qui permet de l'utiliser dans des expressions plus complexes où echo ne fonctionnerait pas.

Les parenthèses étant facultatives, toutes ces formes sont valides :

print "Hello, World!";
print("Hello, World!");
print "Sum is " . (2 + 3);

Un exemple de base

php— editable, runs on the server

Le résultat est :

Hello, World!

print et echo se ressemblent beaucoup, mais il existe deux vraies différences :

echoprint
Valeur de retouraucune (ne retourne rien)toujours 1
Arguments multiplesoui — echo $a, $b;non — un seul argument
Vitesselégèrement plus rapidelégèrement plus lent

Les différences sont minimes, aussi la plupart des projets en choisissent un et restent cohérents. Utilisez echo lorsque vous souhaitez afficher plusieurs valeurs à la fois ; recourez à print uniquement lorsque vous avez besoin d'une valeur de retour dans une expression. Pour une comparaison côte à côte, consultez echo et print en PHP.

<?php
// echo can take several arguments separated by commas
echo "a", "b", "c";   // abc

// print cannot — this is a syntax error:
// print "a", "b";
?>

Utiliser la valeur de retour

Puisque print retourne 1, il peut apparaître là où une expression est attendue. Cela s'avère parfois pratique dans une condition ou un opérateur ternaire, où echo ne compilerait pas :

<?php
$loggedIn = true;

// Ternary: the print runs and evaluates to 1, but we only care about the side effect.
$loggedIn
    ? print("Welcome back!\n")
    : print("Please sign in.\n");
?>

Résultat :

Welcome back!

Ce modèle est rare dans le code réel — un simple if/else avec echo est plus lisible — mais il explique pourquoi print retourne une valeur.

Afficher des variables et du HTML

print affiche n'importe quelle chaîne que vous construisez, y compris du HTML. L'interpolation de variables dans une chaîne entre guillemets doubles est la façon idiomatique de mélanger texte et données :

<?php
$user = "Ada";
print "<p>Hello, $user!</p>\n";
print 'Single quotes do NOT interpolate: $user' . "\n";
?>

Résultat :

<p>Hello, Ada!</p>
Single quotes do NOT interpolate: $user

Notez la différence : les guillemets doubles ("...") développent $user, les guillemets simples ('...') l'affichent littéralement.

Pièges courants

  • print n'est pas conçu pour les tableaux ou les objets. Passer un tableau affiche le mot littéral Array et génère un avertissement. Pour inspecter des données structurées, utilisez print_r() ou var_dump() à la place.
  • La sortie n'échappe rien. print écrit du texte brut. Lorsque vous affichez des données saisies par l'utilisateur dans du HTML, encapsulez-les dans htmlspecialchars() pour éviter les failles XSS.
  • Pour une sortie formatée, préférez printf. Si vous avez besoin de remplissage, de formatage numérique ou d'espaces réservés, printf() et sprintf() sont les outils appropriés.

Résumé

print affiche une seule chaîne de caractères, retourne toujours 1 et accepte des parenthèses facultatives. Il est interchangeable avec echo pour les affichages courants ; la seule raison de le préférer est lorsque vous avez besoin de sa valeur de retour dans une expression. Pour déboguer des tableaux et des objets, utilisez print_r() ou var_dump() ; pour des chaînes formatées, utilisez printf().

Pratique

Pratique
Quelles sont les façons d'afficher une chaîne en PHP selon l'article de w3docs ?
Quelles sont les façons d'afficher une chaîne en PHP selon l'article de w3docs ?
Was this page helpful?