Lezioni di PHP - Lezione 6 - Operatori PHP
Abbiamo già imparato a conoscere le variabili numeriche e stringhe, e sappiamo che le variabili numeriche possono essere di vari tipi: intere, decimali e logiche. Ora è il momento di imparare a lavorare con queste variabili: modificarle, combinarle e manipolarle con gli operatori PHP.
Le tabelle seguenti mostrano l’uso dei vari operatori.
Operatori aritmetici PHP
| Operatore PHP | Descrizione | Esempio | Risultato |
|---|---|---|---|
| + | Addizione | x=2 x+2 |
4 |
| - | Sottrazione | x=2 5-x |
3 |
| * | Moltiplicazione | x=4 x*5 |
20 |
| / | Divisione | 15/5 5/2 |
3 2.5 |
| % | Resto della divisione (modulo) | 5%2 10%8 10%2 |
1 2 0 |
| ++ | Incremento (aumenta di 1) | x=5 x++ |
x=6 |
| -- | Decremento (diminuisce di 1) | x=5 x-- |
x=4 |
Addizione in PHP
<?php $x = 1; $y = 2; $z = $x + $y; print $z; ?>
Il risultato sarà 3. Tutto molto semplice.
Sottrazione in PHP
<?php $x = 2; $y = 6; $z = $y - $x; print $z; ?>
Risultato: 4.
Moltiplicazione in PHP
<?php $x = 3; $y = 4; $z = $x * $y; print $z; ?>
Il risultato sarà 12.
Divisione in PHP
<?php $x = 26; $y = 2; $z = $x / $y; print $z; ?>
Risultato: 13.
Resto della divisione (mod) in PHP
<?php $x = 10; $y = $x % 3; print $y; ?>
Il risultato sarà 1.
Questo operatore restituisce il resto della divisione intera. Per esempio, 10 diviso 3 dà 3 con resto 1 — questo resto è il risultato dell’operatore %.
Esempio pratico
<?php $time = time(); // Tempo attuale (in secondi dal 1° gennaio 1970) $hours = $time % 86400; // Ore totali (in secondi) $hours = floor($hours / 3600); // Numero intero di ore $minutes = $time % 3600; // Minuti totali (in secondi) $minutes = floor($minutes / 60); // Numero intero di minuti $seconds = $time % 60; // Secondi print $hours . ':' . $minutes . ':' . $seconds; ?>
Questo esempio mostra come ottenere l’ora corrente del server.
La funzione floor() restituisce solo la parte intera di un numero (ad esempio, floor(3.7) restituisce 3).
Cos’è il tempo Unix (Unix Epoch o Unix Timestamp)?
Il tempo Unix è un sistema per rappresentare il tempo usato nei sistemi operativi UNIX e POSIX. L’origine del conteggio (epoch) è la mezzanotte (UTC) del 1° gennaio 1970. Questo metodo di memorizzazione del tempo, espresso in secondi, è molto comodo per confrontare date o conservarle in un formato compatto (4 o 8 byte).
Incremento (++) in PHP
<?php $x = 1; $y = 1; $x++; $y = $y + 1; print 'x=' . $x . '<br />'; print 'y=' . $y; ?>
Il risultato sarà x=2, y=2. Il sintassi deriva dal linguaggio C++.
Decremento (--) in PHP
<?php $x = 4; $y = 4; $x--; $y = $y - 1; print 'x=' . $x . '<br />'; print 'y=' . $y; ?>
Risultato: entrambi diventano 3.
Operatori di assegnazione PHP
| Operatore PHP | Esempio | Equivalente |
|---|---|---|
| = | x=y | x=y |
| += | x+=y | x=x+y |
| -= | x-=y | x=x-y |
| *= | x*=y | x=x*y |
| /= | x/=y | x=x/y |
| .= | x.=y | x=x.y |
| %= | x%=y | x=x%y |
Questi sono semplicemente modi abbreviati per scrivere operazioni aritmetiche.
Operatori di confronto PHP
| Operatore PHP | Descrizione | Esempio |
|---|---|---|
| == | Uguale | 5==8 restituisce false |
| != | Diverso | 5!=8 restituisce true |
| <> | Diverso | 5<>8 restituisce true |
| > | Maggiore di | 5>8 restituisce false |
| < | Minore di | 5<8 restituisce true |
| >= | Maggiore o uguale | 5>=8 restituisce false |
| <= | Minore o uguale | 5<=8 restituisce true |
Analizzeremo questi operatori più in dettaglio nelle lezioni sui costrutti condizionali e sui cicli.
Operatori logici PHP
| Operatore PHP | Descrizione | Esempio |
|---|---|---|
| && | E (AND) | x=6 y=3 (x<10 && y>1) restituisce true |
| || | O (OR) | x=6 y=3 (x==5 || y==5) restituisce false |
| ! | NON (NOT) | x=6 y=3 !(x==y) restituisce true |