W3docs

Comprendere le istruzioni echo e print di PHP

In PHP, echo e print sono i due metodi più usati per produrre output di testo. Funzionano in modo simile ma presentano differenze importanti.

Produrre testo in output è la prima cosa che fanno la maggior parte dei programmi PHP, e PHP mette a disposizione due strumenti per farlo: echo e print. Sembrano intercambiabili, e per l'output quotidiano lo sono — ma sotto il cofano non sono la stessa cosa. Entrambi sono costrutti del linguaggio (non funzioni in senso stretto), quindi possono essere chiamati con o senza parentesi.

Questo capitolo mostra come funziona ciascuno, dove differiscono e quale scegliere. Se sei nuovo all'output di valori, può essere utile leggere prima le variabili PHP e le stringhe PHP, poiché echo e print sono il modo in cui vengono visualizzate.

Istruzione echo di PHP

L'istruzione echo produce in output una o più stringhe. Il suo utilizzo più comune è la stampa di un singolo testo:

Esempio PHP di echo

php— editable, runs on the server

echo non restituisce alcun valore. La stringa sopra viene inviata direttamente al buffer di output e trasmessa al browser (o al terminale, per gli script CLI).

Output di variabili ed espressioni

Puoi stampare le variabili direttamente, oppure costruire una stringa più lunga con l'operatore di concatenazione .:

Stringa concatenata con echo in PHP

php— editable, runs on the server

All'interno delle stringhe con virgolette doppie, le variabili vengono interpolate automaticamente, quindi spesso non è nemmeno necessaria la concatenazione:

<?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: $num

Le virgolette singole vengono prese letteralmente — $num viene stampato così com'è. Consulta le stringhe PHP per le regole complete.

Passare più argomenti

Una funzionalità che print non possiede: echo accetta più argomenti separati da virgola e li stampa in ordine. Questo può essere leggermente più veloce della concatenazione, perché PHP non costruisce prima una grande stringa unica:

<?php

echo "Red", " ", "Green", " ", "Blue", "\n";
// Output: Red Green Blue

Nota: la forma con la virgola funziona solo quando si chiama echo senza parentesi. echo("a", "b") è un errore di sintassi.

Il tag echo abbreviato

Quando si mescola PHP con HTML, <?= ... ?> è un'abbreviazione per <?php echo ... ?> — comodo nei template:

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

Istruzione print di PHP

Anche print produce testo in output, ma con una differenza importante: restituisce sempre il valore 1. Questo valore di ritorno consente di usare print all'interno di espressioni, dove echo sarebbe un errore di sintassi:

Esempio della funzione print in PHP

php— editable, runs on the server

Poiché restituisce 1, print viene talvolta usato in costrutti condizionali compatti come $ok or print "failed";. In pratica questo è raro — la maggior parte del codice lo usa semplicemente come echo.

Come echo, print gestisce variabili ed espressioni:

Stringa concatenata con print in PHP

php— editable, runs on the server

Una cosa da ricordare: print accetta esattamente un argomento. Non è possibile scrivere print "a", "b";.

Confronto tra echo e print

Caratteristicaechoprint
Restituisce un valoreNoRestituisce sempre 1
Utilizzabile in un'espressioneNoSì ($x = print "hi";)
Argomenti multipliSì (echo $a, $b;)No — un solo argomento
VelocitàMarginalmente più veloceMarginalmente più lento

Alcune considerazioni pratiche:

  • La differenza di velocità è trascurabile per applicazioni reali — è una micro-ottimizzazione che quasi mai si nota. Scegli in base alla leggibilità, non alle prestazioni.
  • Usa echo per l'output normale. È la scelta convenzionale e supporta argomenti multipli.
  • Ricorri a print solo quando hai genuinamente bisogno del suo valore di ritorno all'interno di un'espressione.

Conclusione

echo e print sono entrambi costrutti del linguaggio per inviare testo all'output. Usa echo per impostazione predefinita — è la scelta idiomatica e può accettare più argomenti — e usa print quando hai specificamente bisogno di un valore di ritorno. Per approfondire, consulta le variabili PHP, le stringhe PHP e i tipi di dati PHP.

Esercitazione

Pratica
Qual è la differenza tra echo e print in PHP?
Qual è la differenza tra echo e print in PHP?
Was this page helpful?