Il tipo string
in PHP viene utilizzato per memorizzare stringhe di caratteri ASCII, dove ciascun carattere è rappresentato da un byte.
Una stringa può contenere lettere, numeri e caratteri speciali.
Il modo più semplice per creare una stringa è racchiuderla tra singoli apici ''
. È anche possibile utilizzare i doppi apici ""
. Ad ogni modo singoli e doppi apici lavorano in modi differenti.
<?php
$car = "Ferrari";
$model = 'F40';
echo "Auto $car \n"; // Auto Ferrari
echo "Modello $model\n"; // Modello F40
echo 'Auto $car \n'; // Auto $car \n
echo 'Modello $model \n'; // Modello $model \n
L'esempio mostra come le stringhe tra singoli apici vengono interpretate così come sono, mentre quelle tra doppi apici vengono pre-elaborate da PHP nel seguente modo:
$car
e $model
nell'esempio).\
, vengono sostituite con caratteri speciali (Vedi tabella).Sequenza di escape | Descrizione |
---|---|
\n |
Sostituito dal carattere di nuova riga. |
\r |
Sostituito dal carattere di carriage-return. |
\t |
Sostituito dal carattere di tabulazione. |
\$ |
Sostituito dal simbolo stesso del dollaro. |
\" |
Sostituito da un singolo doppio apice. |
\\ |
Sostituito da un singolo backslash |
Come anticipato in una guida precedente, il tipo di dato string
in PHP è un tipo speciale di array. Come vedremo gli array sono una sequenza ordinata di valori, ciascuno dei quali accessibile tramite un indice.
Le stringhe possono essere viste come sequenze ordinate di caratteri, ciascuno dei quali associato ad un indice numerico che consente di accedere a quel carattere.
Un esempio chiarisce meglio come PHP memorizza le stringhe
<?php
$lastName = "Biscaldi";
echo $lastName[0]; // B
echo $lastName[3]; // c
echo $lastName[4]; // a
Nota: il primo elemento di ogni array ha indice numerico pari a 0
, e non 1
come ci si potrebbe aspettare.
PHP mette a disposizione un operatore di stringa (operatore di concatenazione), rappresentato dal carattere del punto .
, che consente di concatenare più stringhe tra di loro.
Di seguito è mostrato un esempio:
<?php
$string1 = "Mario Rossi ";
$string2 = "vive a Roma ";
$string3 = "e fa il programmatore";
echo $string1 . $string2 . $string3; // Mario Rossi vive a Roma e fa il programmatore
PHP offre diverse funzioni per manipolare le stringhe, in questo paragrafo ne vediamo solamente quattro tra quelle più comuni.
Per una panoramica più ampia consulta l'apposita guida sulle funzioni per gestire le stringhe.
strlen()
restituisce la lunghezza di una stringa.strpos()
restituisce la posizione di una parola all'interno di una stringa.substr()
restituisce una sottostringa da una stringa.str_replace()
sostituisce tutte le occorrenza di una parola con un'altra all'interno di una stringa.<?php
$string = "Ciao mondo!";
echo strlen($string)."\n"; // 11
echo strpos($string, 'mondo')."\n"; // 5
echo substr($string, 5, 5)."\n"; // mondo
echo str_replace('mondo', 'a tutti', $string)."\n"; // Ciao a tutti
Nell'output della funzione strpos()
possiamo notare che la posizione di "mondo" nella nostra stringa è 5. Il motivo per cui è 5, e non 6, è perché negli array la prima posizione parte da 0 e non da 1, come ci si potrebbe aspettare. Questo vale per tutti i linguaggi di programmazione.