Echo PHP o PHP Echo,  è uno dei costrutti basilari di PHP. PHP Echo infatti permette di mostrare a video un valore sotto forma di stringa. E’ stato introdotto dalla versione 4 di PHP ed è tuttora presente nella versione 7.

“Echo” non è una funzione vera e propria, Echo PHP rappresenta un costrutto del linguaggio, non è dunque necessario utilizzare parentesi per utilizzarlo o passare argomenti.

echo 'Hello world';

Utilizzare PHP Echo

Echo short syntax

Echo PHP ha anche una sintassi alternativa che può essere usata fuori dal contesto PHP.

<?= 'Hello world'; ?>

Differenza tra “Echo e Print”

Essenzialmente, Echo e Print fanno la stessa cosa, entrambi servono per mostrare dati sullo schermo. Le differenze sono poche:

  • Echo non restituisce alcun valore, mentre Print restituisce 1 come risposta, perciò può essere usato nelle espressioni.
  • Echo può avere più parametri, mentre Print ne accetta solo uno.
  • Echo, volendo essere pignoli, è leggermente più veloce di Print nell’esecuzione.

Hands on

Apriamo adesso il terminale e digitiamo questo comando:

php -a

Questo comando aprirà sul vostro terminale una shell interattiva dove potrete scrivere direttamente comandi PHP e ottenere il risultato immediatamente.

Facciamo una prova con Echo:

PHP echo

Nella shell ho digitato Echo “Hello world!”; ho premuto invio e il risultato mi è stato mostrato proprio sotto.

Come abbiamo detto, Echo accetta uno o più argomenti, mettiamolo alla prova:

PHP echo

Fantastico, da notare come \n sia stato interpretato come istruzione di nuova linea. Se avessimo usato i singoli apici, questo non sarebbe successo.

Proviamo adesso a fare la stessa cosa con Print:

PHP echo

Come ci aspettavamo, PHP ci ha restituito un errore, perché print non accetta più di un argomento, quindi l’unico modo per passare tre valori a print è usare la concatenazione tra le tre stringhe.

Facciamo un esempio:

$newLine = "\n";
print "Hello" . $newLine . "world!";

Sappiamo che avremmo potuto mettere la variabile, o il suo valore, direttamente all’interno di un’unica stringa racchiusa da double quotes, ma è a scopo esemplificativo per mostrare come lavorare con tre elementi separati.

Il vantaggio principale che porta la peculiarità di echo nell’accettare più argomenti è legato alla precedenza degli operatori in PHP. Infatti in un caso come questo non è necessario usare parentesi:

echo "Sum: ", 1 + 2;
echo "Hello ", isset($name) ? $name : "John Doe", "!";

Se avessimo usato la concatenazione, saremmo stati obbligati a utilizzare le parentesi come mostrato nell’esempio successivo:

echo 'Sum: ' . (1 + 2);
echo 'Hello ' . (isset($name) ? $name : 'John Doe') . '!';

Per approfondimenti vi consigliamo di dare un’occhiata alla pagina della documentazione ufficiale o alla descrizione di Echo su w3.org, oppure di partecipare a uno dei nostri corsi di PHP per principianti.