In questa lezione della nostra guida a PHP analizzeremo un aspetto determinante del linguaggio, scopriremo cioè cosa sono e come funzionano gli operatori di confronto e gli operatori logici.
Gli operatori di confronto
Gli operatori di confronto consentono, appunto, di effettuare dei confronti tra valori al fine di prendere determinate "decisioni" durante l’esecuzione del codice. Attraverso questi operatori, infatti, si realizzano le cosìdette strutture di controlo cioè le strutture logiche che consentono ad un’applicazione di fare una cosa oppure un’altra in base al verificarsi o meno di una data condizione.
Quando utilizziamo questi operatori confrontiamo i due valori posti a sinistra e a destra dell’operatore stesso. Il risultato di questa operazione sarà, ogni volta, vero (true) o falso (false). Questi operatori sono:
Operatore | Operazione |
---|---|
== | Uguale |
!= | Diverso |
< | Minore |
> | Maggiore |
<= | Minore o Uguale |
>= | Maggiore o Uguale |
Facciamo qualche esempio:
//definiamo due variabili
$a = 7;
$b = 5;
//facciamo qualche confronto...
$a == $b; //Falso
$a != $b; //Vero
$a < $b; //Falso
Gli operatori di confronto non operano soltanto con le variabili numeriche, ma anche con le variabili di tipo stringa. In questo caso il confronto viene effettuato sull’ordine alfabetico dei caratteri: vale a dire che vengono considerati "minori" i caratteri che "vengono prima" nell’ordine alfabetico (quindi la lettera "a" è minore di "b", "b" è minore di "c" e così via). Inoltre tutte le lettere minuscole sono sempre considerate "maggiori" delle lettere maiuscole ("a" è maggiore di "A"). Per finire bisogna ricordare che tutte le lettere sono considerate "maggiori" dei numeri compresi tra 0 e 9 (quindi "a" è maggiore di 7). In realtà confronti di questo tipo hanno un significato abbastanza relativo, in quanto difficilmente vi capiterà di utilizzarli. Un caso particolarissimo è quello in cui vengono confrontate una variabile tipo stringa ed una numerica. In quest’ultimo caso PHP cercherà di trasformare la variabile stringa in numerica: per fare questo PHP controlla se all’inizio della stringa ci sono dei numeri, se ne trova, considererà tutti i numeri che trova inizialmente come il valore numerico di quella stringa; se non ne trova, il valore della stringa sarà uguale a zero. Facciamo un esempio:
//definiamo due variabili
$a = 2;
$b = 2 amici;
//facciamo un confronto...
$a == $b; //Vero
Gli operatori logici
Gli operatori logici servono letteralmente per combinare, alternare o negare più valori booleani (true/false).
Operatore | Operazione |
---|---|
AND | Tutte gli operatori devono essere veri. In alternativa a "AND" si può usare "&&" |
OR | Almeno uno dei due operatori deve essere vero. In alternativa a "OR" si può usare "||" |
XOR | Solo uno dei due operatori deve essere vero (l’altro deve essere falso) |
NOT | E’ l’operatore di negazione e si usa con un solo operatore. In sostanza effettua una inversione: restituisce vero quando l’operatore è falso, e viceversa |
Ecco qualche esempio:
(10 > 4) And (2 == 2); //vero: entrambe le condizioni sono vere
(4 < 9) Or (8 > 12); //Vero: la prima condizione è vera
NOT (4 < 9); //Falso: la negazione ribalta il valore del paragone
(2 < 4) Xor (7 > 6); //Falso: entrambe le condizioni sono vere mentre "Xor" ne vuole solo una!
L’importanza degli operatori di confronto e logici diventerà evidente nella prossima lezione quando parleremo delle strutture di controllo di PHP.