Luigi Arlotta
a- a+

Stringhe

La dichiarazione di una stringa avviene in modo del tutto analogo a quella di qualsiasi altra variabile con l'unica differenza che il valore da attribuire ad una variabile di tipo string deve essere racchiuso tra virgolette o tra apici. Per quanto riguarda le differenze tra l'utilizzo di virgolette e apici, vale quanto detto nel capitolo 4, dove abbiamo introdotto il concetto di variabile. Di seguito sono riportate due dichiarazioni di tipo stringa entrambe valide. La prima fa uso delle virgolette e la seconda degli apici.

$str1 = "Questa è una variabile di tipo string";

$str2 = 'Anche questa è una variabile di tipo string';

Nel capitolo 4 avevamo detto che il PHP interpreta quanto contenuto tra le virgolette e effettua le eventuali sostituzioni, mentre lascia inalterato quanto contenuto all'interno degli apici. Analizziamo qualche esempio al fine di cominciare a familiarizzare con questo modo di operare. Osservate gli script che seguono e provate ad indovinarne l'output.

$Civico = 8;
$Indirizzo = "Via Tespi, $Civico";
echo 'Il mio indirizzo è $Indirizzo';

L'output di questo script è il seguente:

Il mio indirizzo è $indirizzo

Se non siete cascati nel tranello vuol dire che avete capito bene come funzionano virgolette e apici. Se invece vi state chiedendo perché sia stato visualizzato il nome della variabile anziché il proprio valore la risposta è semplice: PHP non interpreta quanto contenuto all'interno degli apici, bensì lo tratta come semplice testo.

Passiamo al secondo script.

$Civico = 8;
$Indirizzo = "Via Tespi, $Civico";
echo "$Indirizzo";

L'output di questo script è il seguente:

Il mio indirizzo è Via Tespi, 8

Avendo sostituito gli apici con le virgolette nella terza riga, il PHP interpreta quanto contenuto all'interno rimpiazzando il nome della variabile $Indirizzo con il suo valore.

Con quanto illustrato fino a questo punto potrebbe sorgervi un dubbio: la sintassi descritta non permette di scrivere tutto. Infatti c'è ancora qualcosa da aggiungere. Partiamo da un esempio. Supponiamo di voler scrivere qualcosa del tipo:

Il valore della variabile $Indirizzo è Via Tespi, 8

Non è possibile utilizzare le virgolette, in quanto lo script:

$Civico = 8; $Indirizzo = "Via Tespi, $Civico"; echo "Il valore della variabile $Indirizzo è $indirizzo";

restituirebbe come output:

Il valore della variabile Via Tespi, 8 è Via Tespi, 8

Allo stesso tempo non potremmo utilizzare gli apici in quanto lo script:

$Civico = 8;
$Indirizzo = "Via Tespi, $Civico";
echo 'Il valore della variabile $Indirizzo è $indirizzo';

restituirebbe come output:

Il valore della variabile $indirizzo è $Indirizzo

Potrebbe invece funzionare qualcosa del genere:

$Civico = 8;
$Indirizzo = "Via Tespi, $Civico";
echo 'Il valore della variabile $Indirizzo';
echo " è $indirizzo";

che effettivamente fornisce l'output:

Il valore della variabile $Indirizzo è Via Tespi, 8

Tuttavia risulta un po' troppo complicato. Esiste una strada più semplice. PHP prevede, all'interno delle virgolette l'uso del carattere di escape (""), cioè permette di rappresentare alcuni caratteri speciali premettendo il carattere "" (backslash). Questo risolve anche il problema che ci eravamo posti, infatti lo script

$Civico = 8; $Indirizzo = "Via Tespi, $Civico"; echo "Il valore della variabile $Indirizzo è $indirizzo"

visualizzerà proprio:

Il valore della variabile $Indirizzo è Via Tespi, 8

Abbiamo quindi fatto uso delle virgolette e inserito il carattere "" subito prima del nome della variabile che volevamo non fosse interpretata.

Seguiremo una procedura analoga, ad esempio per costruire una stringa che contiene il carattere virgolette. Osservate lo script che segue:

$Civico = 8; $Indirizzo = "Via Tespi, $Civico"; echo "Il valore della variabile $Indirizzo è "$indirizzo""

Visualizzerà la riga:

Il valore della variabile $Indirizzo è "Via Tespi, 8"

Altri codici di escape da utilizzare per rappresentare caratteri speciali, sono riportati in tabella 10.3.1.

Codici di escape
" virgolette
newline
carriage return
tabulazione
$ dollaro
backslash
Tab.10.3.1: Codici di escape

 



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Redazione
Ti interessano altri articoli su questo argomento?
Chiedi alla nostra Redazione!