PHP-Espressione

L’espressione

Dopo una breve introduzione sugli operatori, definiamo una espressione come una qualsiasi combinazione di funzioni. Nel caso visto prima, l’operazione 6+4 ha come valore 10. In generale, in PHP, qualsiasi cosa utilizzabile come un valore può essere considerata un’espressione. Vediamo alcuni rapidi esempi:
12 * 3;    / / operazione il cui valore è 36
‘Pippo’ . ‘ Rossi’; // il valore è ‘Pippo Rossi’
$a + $b; /* espressione il cui valore è dato dalla somma dei valori delle variabili $a e $b*/
Come possiamo vedere, quindi, la presenza di operatori fa sì che il valore dell’espressioni risulti diverso da quello dei singoli valori che fanno parte dell’espressioni stesse. Vediamo un caso particolare, quello dell’operatore di assegnazione:
$a = 6; //il valore di questa espressione è 6.

php e espressioni
php

Quando usiamo espressioni per assegnare un valore ad una variabile, il valore che tali espressioni assumono è uguale a quello che si trova a destra dell’operatore di assegnazione (che è anche quello che viene assegnato all’operatore di sinistra). Questo significa che noi possiamo scrivere
echo ‘Pippo’; //stampa ‘Pippo’
echo ($nome = ‘Pippo)’; //stampa sempre ‘Pippo’
Le due espressioni hanno infatti lo stesso valore, cioè ‘Pippo’. Quindi con le due istruzioni viste sopra otteniamo sul browser lo stesso risultato. La differenza, ovviamente, è che con la seconda, oltre a stampare il valore a video, abbiamo anche assegnato lo stesso valore alla variabile $nome.
Vediamo qualche altro esempio:
8> 3; //valore dell’espressione: true (vero)
$a = 8 > 3; /*valore : lo stesso di prima; la variabile $a assume quindi il valore true*/
$b = 5 * 5; //valore : 25; viene assegnato a $b
Precedentemente avevamo accennato ad una differenza nella valutazione dell’espressioni fra i diversi modi di utilizzare gli operatori di incremento e di decremento.

ESPRESSIONE approfondiAMO questo concetto:

$a = 5; $b = 5;
++$a; //incrementiamo $a, che diventa 6; l’espressione vale 6
$b++; //anche $b diventa 6; qui però l’espressione vale 5
La differenza è questa: se usiamo l’operatore di incremento (o di decremento) prima della variabile, l’espressione assume il nuovo valore della variabile stessa. Se invece lo mettiamo dopo, l’espressione prenderà il valore che la variabile aveva prima dell’operazione. Di conseguenza:
$a = 5; $b = 5;
echo ++$a; //$a diventa 6, e viene stampato ‘6’
echo $b++; //anche $b diventa 6, ma viene stampato ‘5’ ma il valore è già 6 infatti:
echo ++$b; //a questo punto $b è diventato 7, e viene stampato ‘7’.