Gestione delle stringhe in PHP, funzioni, codice ed esempi

Gestione delle stringhe in PHP

La gestione delle stringhe in PHP è un argomento molto interessante, partiremo dal tipo di dato per poi analizzare le principali funzioni associate, il loro confronto, la concatenazione e gli array.

Abbiamo già visto come muovere i primi passi con PHP configurando l’ambiente di sviluppo e scrivere codice con questo fantastico linguaggio. Particolare importanza riveste il concetto di variabile e gli operatori di confronto che vedremo anche per le stringhe. A questo punto non ci resta che partire con un nuovo tutorial PHP che ci farà vedere tutto quello che c’è da sapere sulle stringhe.

INDICE

PHP: il tipo di dato String

Introducendo le variabili abbiamo visto come assegnare i nomi e quali sono i tipi di dati in PHP, dividendole in scalari e composte. Nelle prime troviamo:

  • boolean
  • integer
  • float
  • string

tra le variabili composte troviamo:

  • array
  • object

Oltre a queste esistono dei tipi speciali: resource e null. Il tipo String memorizza caratteri, seguendo la tabella ascii e basta racchiudere la sequenza di caratteri tra apici per definire la stringa.

<?php
	$saluto = 'Ciao!';
	echo $saluto;
?>

Le principali funzioni di PHP per la gestione delle stringhe

Di seguito una serie di funzioni che possiamo utilizzare con le stringhe.

echo

La funzione echo riesce a stampare a video i dati, comprese le stringhe. Di seguito un esempio della funzione:

<?php
	$var = 'Ciao Pippo';
	echo $var;
?>

A video verrà visualizzato il seguente output: Ciao Pippo. La funzione echo è molto utilizzata in PHP e può essere utilizzate con ogni tipo di variabile comprese le stringhe ed i tipi numerici.

strlen

La funzione strlen è in grado di visualizzare la lunghezza di una stringa. Ecco un esempio di come utilizzarla:

<?php
	$citta = 'Milano';
	echo strlen($citta); //risultato 6
?>

Il risultato è 6 che corrisponde al numero di caratteri della stringa Milano.

strpos()

La funzione strpos() è in grado di indicare la posizione di una determinata stringa all’interno di un’altra.

<?php 
	$frase = 'Dobbiamo avere cura del nostro mondo';
	echo strpos($frase, 'cura'); //otterremo come risultato 15
?>

Il risultato è 15, che corrisponde al quindicesimo carattere della frase (la posizione in cui inizia il termine “cura”).

str_replace()

La funzione str_replace() è in grado di sostituire una stringa all’interno di un’altra. Ecco un codice di esempio in PHP in grado di farci vedere il funzionamento di str_replace.

<?php 
	$frase = 'Dobbiamo avere cura del nostro mondo';
	$fraseDaTrovare = 'mondo';
	$fraseDaSostituire = 'pianeta';
	echo str_replace($fraseDaTrovare, $fraseDaSostituire, $frase); // Dobbiamo avere cura del nostro pianeta
?>

Come nell’esempio PHP proposto saremo in grado di sostituire un termine con un altro, all’interno della frase verrà sostituito il termine mondo con il termine pianeta.

strstr()

La funzione strstr(), è in grado di trovare la prima occorrenza di una stringa. Vediamo un esempio.

<?php
	$email = 'luigi@digitalteacher.it'; 
	$dominio = strstr($email, '@'); 
	$username = strstr($email, '@', true); 
	$estensione = strstr($email, '.'); 
	echo $dominio; //@digitalteacher.it 
	echo $username; //luigi
	echo $estensione; //.it
?>

Come nell’esempio proposto da php.net, preso un indirizzo email, attraverso la funzione strstr riusciamo a recuperare il dominio, l’username e l’estensione. La funzione restituisce false, se non trova l’occorrenza.

In questo caso il risultato finale sarà: @digitalteacher.itluigi.it in quanto la funzione echo non va accapo, è possibile farlo concatenando le stringhe ed utilizzando il carattere speciale “\n”.

La funzione è case sensitive, rispetta le stringhe maiuscole e minuscole, esiste la funzione simile stristr() che non trova le occorrenze come per la funzione strstr, ma senza rispettare maiuscole e minuscole.

trim()

La funzione trim elimina gli spazi all’inizio ed alla fine di una stringa.

<?php
	$var = ' Digital Teacher ';
	echo trim($var);	//Output: 'Digital Teacher'
?>

Esistono altre due funzioni simili, ltrim() ed rtrim() che rispettivamente eliminano gli spazi all’inizio della stringa ed alla fine della stringa.

strtoupper() e strtolower()

Le funzioni strtoupper() e strtolower() convertono una stringa in caratteri maiuscoli e minuscoli. Vediamo un esempio:

<?php
	$var = 'Digital Teacher';
	echo strtoupper($var);	//Output: 'DIGITAL TEACHER'
	echo strtolower($var);	//Output: 'digital teacher'
?>

Esiste anche una funzione in grado si modificare una stringa inserendo in maiuscolo il primo carattere della stringa. La funzione è ucfirst().

<?php
	$var = 'digital Teacher'; 
	echo ucfirst($var); 		//Output: Digital Teacher
	echo ucfirst(strtolower($var)); //Output: Digital teacher
?>

Confronto tra stringhe

Viste le principali funzioni per manipolare le stringhe e per trovare alcune informazioni su di queste, passiamo al loro confronto. L’operatore di confronto è il doppio uguale ==. In questo caso possiamo confrontare variabili contenenti stringhe ad avere il risultato immediatamente.

Come confrontare due stringhe in PHP? Possiamo utilizzare l’istruzione condizionale if e riconoscere l’uguaglianza o meno di una stringa con un’altra.

<?php
	$var = 'Digital';
	if ($var == 'Digital') {
		echo 'Le stringhe sono uguali';
	} else {
		echo 'Le stringhe sono diverse';
	}
?>

In questo caso le stringhe sono uguali.

<?php
	$var = 'Digital';
	if ($var == 'digital') {
		echo 'Le stringhe sono uguali';
	} else {
		echo 'Le stringhe sono diverse';
	}
?>

In questo caso le stringhe sono diverse in quanto la prima lettera di digital, nel confronto, è minuscola.

strcmp()

Il confronto tra stringhe può avvenire anche con la funzione strcmp(), questa restituisce un valore numerico specifico:

  • 0 se le stringhe coincidono
  • -1 se la prima stringa è diversa dalla seconda, alfabeticamente la prima stringa viene prima della seconda
  • 1 se la prima stringa è diversa dalla seconda, alfabeticamente la prima stringa viene dopo la seconda
<?php
	$var1 = 'a';
	$var2 = 'a';
	$var3 = 'b';
	$var4 = 'c';
	echo strcmp($var1, $var2);	//risultato 0
	echo strcmp($var3, $var4);	//risultato -1
	echo strcmp($var4, $var3);	//risultato 1
?>

Un semplice esempio di utilizzo della funzione strcmp() al posto dell’operatore di confronto.

Concatenazione di stringhe

Vediamo ora come unire due stringhe in PHP, con la concatenazione riusciamo a fare proprio questo. Con alcuni semplici esempi vedremo gli operatori che ci permettono di mettere insieme più stringhe. Un fattore molto importante per avere un output pulito e facilmente comprensibile.

<?php
	$nome = 'Mario';
	$cognome = 'Rossi';
	$var = 'Nome: '.$nome.' - Cognome: '.$cognome ;
	echo $var;	//Output: Nome: Mario - Cognome: Rossi
?>

Dichiarate la variabile nome e cognome, possiamo concatenare le stringhe attraverso il . (punto). Dall’esempio sopra si ha come output: Nome: Mario – Cognome: Rossi.

Esiste un altro modo per concatenare le stringhe, attraverso l’operatore di assegnazione e concatenazione .=.

<?php
	$nome = 'Mario';
	$cognome = 'Rossi';	
	$nome .= $cognome;	
	echo $nome;	//Output: MarioRossi
?>

A questo punto, potrebbe essere interessante anche dare una formattazione alla stringa, in modo tale da avere i corretti

Differenza tra virgolette singole e virgolette doppie

E’ molto importante capire la differenza tra l’utilizzo delle virgolette singole rispetto alle virgolette doppie. Negli esempi proposti, abbiamo spesso utilizzando la funzione echo, sostituendo le virgolette singole con le virgolette doppie (con la funzione echo) il risultato non cambia.

In generale gli apici singoli– trattano il dato come stringa, un tipo letterale.

Gli apici doppi– permettono l’interpretazione dei dati che contengono.

Proviamo con un esempio:

<?php
	$test = "prova";
	echo "test = $test"; // Output: test = prova
	echo 'test = $test'; // Output: test = $test
?>

Nella terza riga sono stati usati gli apici doppi, il compilatore ha interpretato il contenuto in due parti

  • il primo test come una stringa
  • il secondo test ($test) come variabile, sostituendo quindi il suo valore (prova)

Nella quarta riga il compilatore ha interpretato tutto come stringa poiché racchiusa tra apici singoli.

Tutorial PHP

Ecco alcuni articoli che potrebbero interessarti sul linguaggio PHP:

  1. Introduzione: come muovere i primi passi in PHP, come si inizia a programmare e come impostare l’ambiente di lavoro.
  2. Variabili: come dichiarare e assegnare valori alle variabili in PHP, ci sarà anche una descrizione sui tipi di dati e sugli operatori aritmetici, di confronto e logici.
  3. Stringhe: la gestione delle stringhe in PHP, le principali funzioni e diversi codici di esempio.
  4. Controllo del flusso: le strutture di controllo del flusso come if – else e switch, che permettono di eseguire il codice in modo diverso a seconda delle condizioni specificate.
  5. Cicli: verranno illustrati i cicli, come while, do-while e for, che permettono di ripetere il codice per un determinato numero di volte.
  6. Funzioni: vedrai come creare e utilizzare le funzioni in PHP, inclusi gli argomenti di input e i valori di ritorno.

Segui Digital Teacher anche sui canali social

Youtube  Facebook  Instagram