Le espressioni in PHP

4 settembre 2015

In informatica un’espressione può essere considerata come la combinazione di uno o più valori con operatori e funzioni. Tale combinazione produce un valore come risultato. Si può applicare la definizione matematica di espressione anche nei linguaggi di programmazione.

In PHP può essere definita espressione un qualsiasi costrutto che restituisce un valore. Vediamo a tal proposito alcuni esempi:

5 //il valore dell'espressione è 5
"stringa" // il valore dell'espressione è "stringa"
5 > 1; // il valore dell'espressione è true
5 < 1; // il valore dell'espressione è false

5 * 3 // il valore dell'espressione è 15
"ciao " . "Simone" // il valore dell'espressione è "ciao Simone"

/*
pow() restituisce il primo parametro elevato alla potenza del secondo
il valore dell'espressione sarà: 2 + 4 = 6
*/
2 + pow(2, 2)

Il valore di una qualsiasi espressione può essere assegnato ad una variabile. Nel caso proposto di seguito il valore della variabile è dato dal risultato dell’espressione che si trova a destra dell’operatore di assegnazione (=):

$a = 3 + 3; //il valore di $a è il risultato dell'espressione: $a = 6

Questa sintassi consente di avere più espressioni all’interno di una singola istruzione. Prendiamo come esempio un costrutto echo che viene utilizzato per stampare a schermo un valore passato come parametro (es. echo 2;). Possiamo anche passare al costrutto il risultato di un’espressione definita all’interno della stessa istruzione, in questo modo:

echo 1 + 2;

L’esempio appena presentato stamperà a schermo il valore 3: questo poiché tendenzialmente le espressioni vengono valutate da destra verso sinistra. In questo caso quindi viene prima eseguita l’espressione 1 + 2 e poi passato il risultato al costrutto echo.

Tale regola, però, non è sempre vera. Vedremo infatti nelle prossime lezioni che le funzioni e gli operatori possono definire priorità differenti.

Alla luce della regola appena definita, analizziamo alcuni esempi della applicazione pratica:

/*
rispetta la regola precedente, l'unica differenza sta nel fatto che
prima di passare il valore al costrutto echo, esso viene
assegnato alla variabile $valore
*/
echo $valore = 1 + 2;

/*
anche in questo caso si procede da destra verso sinistra
concatenando le due stringhe e poi passando il valore al costrutto
*/
echo "ciao " . "Simone"; 

Possiamo anche utilizzare delle variabili all’interno di un’espressione. In questo caso, come nei precedenti, verrà assegnato alla variabile di sinistra il valore del risultato dell’espressione a destra dell’operatore di assegnazione:

$b = $a + pow(2, 2); // $b = 6 + 4 => $b = 10

Come anticipato in precedenza, ci sono operatori che possono avere priorità maggiore e che quindi vengono eseguiti prima di altri. Vediamo un breve esempio a riguardo:

$i = 1;
echo ++$i;

L’operatore di incremento ++ aumenta unitariamente il valore della variabile a cui è applicato. Al termine della valutazione, quindi, verrà stampato a schermo il valore 2. L’operatore può essere applicato prima (pre-incremento) o dopo (post-incremento) rispetto alla variabile di riferimento. A seconda della posizione cambia la priorità e, di conseguenza, il risultato dell’operazione.

Nel caso appena descritto l’operatore viene applicato prima dell’esecuzione del costrutto e, quindi la variabile $i verrà incrementata di un’unità prima di essere stampata. Nel caso in cui l’operatore venga posizionato dopo la variabile, il suo incremento verrà posticipato al termine della valutazione dell’espressione.

echo $i++;

In quest’ultimo esempio verrà stampato a schermo il valore 0 e, successivamente, incrementato il valore della variabile. Approfondiremo questo operatore nella lezione relativa agli operatori matematici.

Tutte le lezioni

1 ... 11 12 13 ... 49

Se vuoi aggiornamenti su Le espressioni in PHP inserisci la tua e-mail nel box qui sotto:
Tags:
 
X
Se vuoi aggiornamenti su Le espressioni in PHP

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy