back to top

Operatori di confronto e operatori logici in PHP

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.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).