PHP/Programmazione/Operatori
Nel linguaggio PHP a fianco ai classici operatori matematici, booleani e logici sono disponibili anche gli operatori unari di incremento e decremento e un operatore ternario. Gli operatori principali sono:
- matematici (restituiscono e richiedono valori numerici)
- + somma algebrica
- - sottrazione o negazione del numero
- * Moltiplicazione
- / divisione
- % modulo (resto della divisione intera)
- stringa (restituiscono una stringa)
- . (punto) concatena due stringhe
Gli operatori visti finora hanno inoltre una sintassi particolare nel caso di espressioni come ad esempio
$a = $a + 3; $b = $b.' stringa';
Queste espressioni, infatti, nelle quali compare la stessa variabile ambo sia a destra che a sinistra dell'uguale, possono essere riassunte in
$a += 3; $b .= ' stringa';
- booleani o di confronto (restituiscono un valore boolean)
- === identicamente uguale (anche del medesimo tipo)
- == uguale a
- != diverso da
- > maggiore di
- < minore di
- => maggiore o uguale a
- <= minore o uguale a
- logici (restituiscono e operano su boolean)
- ! corrisponde alla negazione logica ed è un operatore unario (necessita di un solo operando). Restituisce false se l'operando è true, true se viceversa.
- and o && corrisponde alla congiunzione logica (et). Restituisce true solo se entrambi gli operandi sono veri.
- or o || corrisponde disgiunzione inclusiva logica (vel). Restituisce true anche se uno sole degli operandi è vero.
- xor corrisponde alla disgiunzione esclusiva logica (out). Restituisce true solo se uno dei due valori è true e l'altro è false;
- due operatori molto importanti e comodi in PHP sono gli operatori chiamati di incremento e di decremento ++ e --, che restituiscono un valore numerico e aumentano o diminuiscono il valore della variabile di una unità. È più facile capire il loro funzionamento con un esempio:
$v1 = $v2++; //assegna a $v1 il valore di $v2 e poi incrementa $v2 di 1 $v1 = $v2-- //assegna a $v1 il valore di $v2 e poi decrementa $v2 di 1 $v1 = ++$v2; //incrementa $v2 di 1 e poi assegna a $v1 il valore di $v2 $v1 = --$v2 //decrementa $v2 di 1 e poi assegna a $v1 il valore di $v2
- un altro operatore molto comodo in PHP è l'operatore ternario ? : la cui sintassi è
condizione ? espr1 : espr2
Quando il motore PHP legge questo operatore valuta il valore di condizione: se è vera, restituisce il valore espr1, altrimenti il valore espr2. Un esempio potrebbe rendere più chiaro il tutto:
$var = ($a > $b ? 'a maggiore di b' : 'a minore di b');
Il valore di $var sarà quindi dipendente dal valore booleano dell'espressione $a > $b
L'operatore ternario può essere usato anche per determinare il valore di un parametro da passare ad una funzione.
Ad esempio:
function prova( $valore ) { echo $valore; } prova( true ? "prova 1 " : "prova 2" ); prova( false ? "prova 1 " : "prova 2" );
Il codice sopra riportato darà come output:
prova 1 prova 2