Echo, Print e Heredoc

Una breve guida relativa ai metodi di stampa in php, che descrive l'utilizzo di print, echo e heredoc.

Echo, Print e Heredoc

Programmando in PHP, i metodi utilizzati per stampare una stringa alfanumerica a video sono essenzialmente 2, echo e print.

Il costruttore echo

echo è il costruttore più utilizzato, non necessita di parentesi, nemmeno nel caso in cui si voglia inserire un elenco di argomenti, e viene usato come nel seguente esempio:

echo "La vita è bella";
echo ("La vita è bella");

Il costruttore print

print è il costruttore più ricorrente nei vari linguaggi di programmazione, ed è per questo che viene utilizzato da molti programmatori. La velocità di una istruzione "print" si dice sia più lenta di "echo", in quanto restituisce un valore, contrariamente ad "echo".

print "La vita è bella";
print ("La vita è bella");

In entrambi i casi, echo o print, le stringhe da stampare possono essere specificate in diversi modi:

  • mediante l'uso delle virgolette singole

  • mediante l'uso delle virgolette doppie

  • mediante l'uso della sintassi heredoc

Virgolette singole

Nel primo caso le variabili non vengono espanse, non vengono cioè sostituite dal proprio valore. In una stringa delimitata da virgolette singole, non vengono neppure accettate sequenze di escape, a parte i seguenti casi:

  • la doppia backslash \\

  • l'escape della stessa virgoletta singola \'

Esempi

$cane = "Tappo";
$gatto = "Pongo";

echo 'Il mio cane si chiama "$cane"!\nIl mio gatto si chiama "$gatto"';

/* == Output ==
Il mio cane si chiama "$cane"!\nIl mio gatto si chiama "$gatto"! */

echo 'Il mio cane è di razza \'dalmata\'!
Il mio gatto NON è di razza \'dalmata\'';

/* == Output ==
Il mio cane è di razza 'dalmata'!
Il mio gatto NON è di razza 'dalmata'! */

Virgolette doppie

Con la delimitazione tramite virgolette doppie le variabili vengono sostituite dal loro valore e sono accettate molte sequenze di escape.

Ecco un esempio:

$cane = "Tappo";
$gatto = "Pongo";

echo "Il mio cane si chiama \"$cane\"!\nIl mio gatto si chiama \"$gatto\"!";

/* == Output ==
Il mio cane si chiama "Tappo"!
Il mio gatto si chiama "Pongo"! */

Sintassi Heredoc

Avete bisogno di stampare un testo che contiene ogni tipo di carattere di cui effettuare l'escape? In esso sono contenute anche variabili da espandere? Non c'è niente di meglio della sintassi heredoc, molto utile in questi casi.

Ecco come usarla:

echo <<<DATI
qui va inserito il testo da stampare
che può contenere $variabili o parole
"tra virgolette doppie" o 'singole' o caratteri backslash \
DATI;


DATI è un identificatore, il cui nome è solo indicativo, l'importante è utilizzare lo stesso identificativo a inizio e fine stringa.

Notes

Il supporto per Heredoc è stato aggiunto in PHP 4.

tags heredoc php, echo, php, print, heredoc, stampa php, echo php, programmazione

Publication details

Category: PHP

Published by: loryzz on date: 15.01.2008 11:44:29

Last edit by: loryzz on date: 21.01.2009 11:16:11

Statistics

Details  This article has been viewed 3.583 times.

Send to

add to digg add to reddit add to furl add to facebook add to delicious add to google add to stumbleupon add to technorati add to ask add to live

Ratings

  • Currently 0; ?>/ TOTALSTARS
  • 1
  • 2
  • 3
  • 4
  • 5

Comments

Details 0 user comments, 0 still waiting.

Leave a comment

All comments must be approved by site administrator.
Please write comments on topic. Spam will be never approved.


Confirmation code

Please take a look to image and insert character into the form field.

PHP: Linked articles