I precedenti operatori di confronto sono molto utili ma ci permettono di verificare una singola condizione per volta. Cosa succede se vogliamo eseguire un frammento di codice se e solo se 3 condizioni risultano vere?

Con i soli operatori di confronto non è possibile. Se usiamo invece anche gli operatori logici tutto risulta più facile. Grazie a questi operatori binari possiamo combinare nelle maniere più fantasiose e varie i confronti.

Anche qui il PHP ci permette di usare vari stili. Possiamo ad esempio usare direttamente le parole and, or, xor oppure gli operatori come in C. Come nota conclusiva è bene dire che le due versioni degli operatori non sono esattamente uguali avendo una precedenza diversa.

<?php
 
function b2s($a)
{
  return ($a) ? "TRUE\n" : "FALSE\n";
}
 
$a = TRUE;
$b = FALSE;
 
/* Operatori Logici */
 
$x = ($a and $b); // And "and"
echo b2s($x);     // FALSE
 
$x = ($a or $b); // Or "or"
echo b2s($x);    // TRUE
 
$x = ($a xor $b); // Xor "xor"
echo b2s($x);     // TRUE
 
$x = !$a;     // Not "!"
echo b2s($x); // FALSE
 
$x = $a && $b; // And "&&"
echo b2s($x);  // FALSE
 
$x = $a || $b; // Or "||"
echo b2s($x);  // TRUE
 
?>

Tra gli operatori logici c’è anche l’unico operatore ternario del PHP. Quello della scelta condizionata è un operatore utile per sostituire una struttura di controllo come la If quando risulta estremamente semplice.

Riceve in ingresso un valore booleano e a seconda di questo valore ritorna il secondo ho il terzo argomento. Come vedete ci permette di scegliere tra due valori a seconda che un altro sia vero o falso.

L’operatore è composto da due simboli. A sinistra di “?” va inserito il valore booleano mentre a destra dello stesso vanno elencate le due alternative. Per separare i due risultati possibili usate il simbolo “:”.

vicius