Operatori aritmetici di PHP

18 settembre 2015

Nella lezione relativa alle espressioni abbiamo introdotto l’operatore di incremento ++ che aumenta di un’unità il valore della variabile a cui viene associato. Questo operatore è soltanto uno tra quelli messi a disposizione da PHP per effettuare operazioni aritmetiche. Vediamo insieme nel dettaglio quali sono gli altri e qual’è il loro funzionamento.

Iniziamo ovviamente dai più semplici, quelli più intuitivi che sicuramente già conosciamo:

$a = 1 + 1; // operatore di somma
$b = 1 - 1; // operatore di sottrazione
$c = 1 * 1; // operatore di moltiplicazione
$d = 2 / 1; // operatore di divisione

Oltre alle quattro semplici operazioni matematiche precedentemente descritte abbiamo a disposizione anche l’operatore modulo, il quale restituisce il resto di una divisione, come nell’esempio seguente:

$e = 5 % 2; // 5 diviso 2 = 2 con il resto di 1 => $e = 1

L’operatore modulo è spesso utilizzato per determinare se un valore è pari o dispari:

$e = 5;
if(($e % 2) == 0) {
    echo "5 è pari";
else {
    echo "5 è dispari";
}

In questo caso la condizione stamperà a schermo 5 è dispari dato che il resto dell’operazione è 1 e non 0. La condizione appena proposta all’interno dell’ if è un operatore booleano che tratteremo approfonditamente nella prossima lezione. Per ora utilizziamo invece l’esempio anche per introdurre un’altra regola di priorità: le parentesi (). Queste ultime modificano la priorità delle operazioni in un’espressione proprio come accade nella matematica, valutando prima il valore in esse contenuto e poi il resto dell’espressione. Nel nostro caso viene prima valutato il valore del modulo e poi eseguito il resto dell’espressione.

Tornando agli operatori aritmetici introdotti in questa lezione, essi possono essere utilizzati non solo tra valori scalari ma anche con variabili e funzioni, come già mostrato nella lezione delle espressioni:

$a = 1 + 1;
$b = 4 - 2;

$b = $b + $a; // 2 + 2 = 4

Nell’esempio appena visto possiamo notare la situazione in cui il risultato di un’espressione viene assegnato come risultato alla variabile stessa. La variabile $b, quindi, viene modificata sommando il suo valore iniziale al valore di $a. La stessa espressione può essere riscritta utilizzando gli operatori di assegnazione combinati:

$b += $a; // equivale a $b = $b + $a

Tali operatori possono essere utilizzati con tutte le operazioni aritmetiche finora descritte:

$b += $a; // $b = $b + $a
$b -= $a; // $b = $b - $a
$b *= $a; // $b = $b * $a
$b /= $a; // $b = $b / $a
$b %= $a; // $b = $b % $a

Gli ultimi due operatori aritmetici li abbiamo già analizzati ad inizio lezione e in quella precedente, stiamo parlando degli operatori di incremento e decremento.

$i = 0;
++$i; // incrementa di 1 la variabile $i
$i++; // incrementa di 1 la variabile $i

--$i; // decrementa di 1 la variabile $i
$i--; // decrementa di 1 la variabile $i

La differenza della posizione dell’operatore determina la priorità con cui viene eseguito l’incremento o il decremento. Se si trova a sinistra viene eseguita prima di valutare il resto dell’espressione; se si trova a destra viene eseguita dopo aver valutato l’espressione. Vediamo alcuni esempi a riguardo:

$i = 5;
if( ++$i == 6 ) {
    echo 'La variabile $i è uguale a 6';
} else {
    echo 'La variabile $i è diversa da 6';
}

$i = 5;
if( $i == 6 ) {
    echo 'La variabile $i è uguale a 6';
} else {
    echo 'La variabile $i è diversa da 6';
}
++$i;

I due costrutti condizionali appena visti sembrano del tutto identici, il risultato però è diverso in base alla posizione dell’operatore di incremento. Nel primo caso la variabile viene incrementata prima di verificare che essa sia uguale a 6, quindi verrà eseguito il codice nel primo ramo della if, quello corrispondente alla condizione vera. Nel secondo caso, invece, la variabile viene incrementata al termine dell’espressione quindi verrà valutato 5 == 6 che è falso e quindi verrà eseguito il codice nel ramo dell’else.

Tutte le lezioni

1 ... 12 13 14 ... 49

Se vuoi aggiornamenti su Operatori aritmetici di PHP inserisci la tua e-mail nel box qui sotto:
Tags:
 
X
Se vuoi aggiornamenti su Operatori aritmetici di 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