Incominciamo ora a parlare di uno dei tipi piú importanti: le stringhe.

In PHP le stringhe vengono racchiuse dal simbolo di apice singolo () oppure dal simbolo da doppi apici ().

Esistono però alcune differenze nell’uso delle due soluzioni.

Una stringa racchiusa con apici singoli è in generale piú veloce e se ne consiglia l’uso perché il PHP non fa particolari elaborazioni.

Mentre in una stringa racchiusa tra doppi apici il PHP cercherà al suo interno tutta una serie di caratteri di escape, inoltre se il nome di una variabile viene riconosciuto al suo interno questo verrà sostituito con il suo contenuto.

In PHP il carattere che apre una determinata sequenza di escape è il “\” conosciuto anche come backslash.

È possibile indicare una stringa anche tramite la sintassi heredoc.
Questa particolare sintassi risulterà familiare a chi ha usato per un po’ una shell Unix o Linux. Non si deve far altro che racchiudere tutto il testo tra due speciali sequenze di caratteri.
Anche in questo caso un esempio vale piú di mille parole.

<?php
 
$variabile = 'Ciao';
$str1 = '$variabile!\n Come stai ?';
// $str1 contiene: $variabile!\n Come stai ?
 
$str2 = "$variabile!\n Come stai ?";
// $str2 contiene: Ciao!
// Come stai ?
 
/*
stesso esempio però con la sintassi Heredoc
In questo caso la variabile $str3 conterrà:
Ciao!
Come stai?
*/
 
$str3 = <<<EOF
$variabile!
Come stai ?
EOF;
 
?>

Nell’esempio qui sopra possiamo notare nella sintassi heredoc alcuni punti molto singolari.
Innanzitutto i tre segni di minore <<< indicano al PHP che quello che stiamo incominciando è una stringa Heredoc, di seguito notiamo poi la stringa EOF che ritorna poi anche infondo all’esempio ed è usata per terminare la stringa.

Per comodità e abitudine io uso sempre EOF ma questo non vi vieta di usare qualsiasi altra stringa.

I piú accorti avranno notato anche che nelle prime due variabili ho usato il carattere di escape “\” seguito da una lettera.

Avranno notato inoltre che in uno dei due esempi questa particolare sequenza di escape scompariva e modificava l’aspetto della stringa.

Ora alcuni di voi si staranno chiedendo perché nell’esempio con apici singoli la sequenza non abbia funzionato: la risposta è molto semplice.

Come abbiamo già detto, infatti, quando una stringa è racchiusa tra apici singoli il PHP non sostituisce i nomi delle variabili e non cerca nessuna sequenza di escape.
L’unica eccezione è la seguente sequenza “\’” che viene usata quando si vuole inserire un apice all’interno di una stringa.

In sostanza il carattere di escape si usa quando vogliamo inserire in una stringa il carattere speciale, apice o doppi apici che sia, nella stringa stessa.

Esistono poi altri caratteri speciali che hanno una loro rappresentazione tramite una sequenza di escape come l’accapo, la tabulazione, il simbolo del dollaro e per finire il carattere di escape stesso.

<?php
 
/* alcuni esempi di stringhe con sequenze di escape */
$escape = 'in questa stringa voglio inserire il simbolo "\'" !!';
 
$altro = "come prima. ora pero voglio il simbolo '\"' !! ";
 
/* altre sequenze di escape */
 
$escape1 = "e se voglio inserire il carattere di escape ?? \"\\\"";
 
$sequenza = "vai a capo \nOra!";
 
$escape2 = "\t tab, \n accapo, voglio tanti \$!!!";
 
?>

vicius