Tipo string in PHP

Tipo string in PHP

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:

  • I nomi delle variabili contenute nella stringa vengono sostituiti con il loro valore ($car e $model nell'esempio).
  • Alcune sequenze di caratteri (sequenze di escape) che iniziano con un backslash \, vengono sostituite con caratteri speciali (Vedi tabella).

Sequenze di escape

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

Stringhe come array di caratteri

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.

Concatenare stringhe

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

Manipolare le stringhe in PHP

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.

Guida successiva: Costanti PHP