Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 21 di 67
  • livello intermedio
Indice lezioni

Stampare stringhe: echo e print

I costrutti di PHP per stampare le stringhe. Come utilizzare echo e print nelle espressioni per scrivere sullo standard output.
I costrutti di PHP per stampare le stringhe. Come utilizzare echo e print nelle espressioni per scrivere sullo standard output.
Link copiato negli appunti

In molti degli esempi presentati finora abbiamo avuto la necessità di stampare a schermo delle stringhe o il risultato di qualche operazione. In queste occasioni abbiamo utilizzato il costrutto echo che, insieme al costrutto print, ci permette di scrivere sullo standard output.

Stampare stringhe con echo

Il costrutto echo consente di stampare a schermo una o più stringhe. Essendo appunto un costrutto, e non una funzione, non necessità di parentesi per essere richiamato. Analizziamo alcuni esempio del suo utilizzo:

echo 'Questa è una stringa';
echo "Questa è una stringa";
echo "Questa è una stringa " . "concatenata";
echo "Questa è un'altra stringa ", "concatenata";

Gli esempi appena proposti stampano su schermo una stringa o più stringhe concatenate tra di esse. Ovviamente, attraverso questo costrutto possiamo stampare anche variabili:

$nome = "Simone";
echo "Il mio nome è " . $nome;
echo "Il mio nome è ", $nome;
$array = array("Simone", "Luca");
echo "Il primo elemento dell'array si chiama ", $array[0];

Possiamo anche inserire le variabili direttamente all'interno della stringa, senza concatenarle. In questo caso è necessario delimitare la stringa con il doppio apice " altrimenti non verrà interpretata la variabile.

$nome = "Simone";
echo "Il mio nome è $nome";

Per accedere ad un elemento dell'array all'interno della stringa, oltre al doppio apice, abbiamo bisogno di delimitare l'accesso all'array con le parentesi graffe {}:

$array = array("Simone", "Luca");
echo "Il primo elemento dell'array si chiama {$array[0]}";

echo e sintassi abbreviata

Un altro modo per utilizzare il costrutto echo è quello di utilizzare la sua sintassi abbreviata. Immaginiamo di trovarci all'interno di un file HTML in cui abbiamo accesso a diverse variabili, tra cui il nome dell'utente:

<?php
    //definizione variabili
    $nome = "Simone";
?>
... codice html ...
<p>Benvenuto <?=$nome?></p>

Come possiamo notare è necessario aggiungere un = subito dopo l'apertura del tag PHP per stampare automaticamente il valore della variabile.

Questa specifica alternativa, per funzionare correttamente, necessita che la direttiva short_open_tag sia abilitata all'interno del nostro php.ini in caso di versioni inferiori alla 5.4.0 del PHP. Dalle versioni successive, invece, <?= è sempre disponibile.

Stampare stringhe con print

print è un altro costrutto di PHP utilizzato per stampare stringhe sullo standard output. È leggermente meno performante del costrutto echo, ma il funzionamento è molto simile.

La differenza sostanziale tra i due costrutti è che quest'ultimo ha un valore di ritorno booleano mentre il costrutto echo non ha valore di ritorno. Un'altra differenza non meno importante è che print non permette di separare con la virgola diverse stringhe da stampare, ma consente unicamente di concatenarle tra di loro.

Alcuni degli esempi visti in precedenza possono quindi essere realizzati anche con il costrutto print.

print "Questa è una stringa";
print "Questa è una stringa " . "concatenata";
// il seguente esempio produrrà un errore
print "Questa è un'altra stringa ", "concatenata";
$nome = "Simone";
print "Il mio nome è $nome";
$array = array("Simone", "Luca");
print "Il primo elemento dell'array si chiama {$array[0]}";

Ti consigliamo anche