back to top

PHP operatore ternario

Come in tutti i linguaggi con sintassi derivata dal C, anche PHP offre la possibilità di utilizzare il cd. operatore ternario, il quale offre un modo semplice e pratico per scrivere codice senza scomodare i classici operatori di confronto (if ed else).

Questo modo "pratico" – che come abbiamo già detto prende il nome di operatore ternario – è una sintassi alternativa al classico costrutto If…Else che abbiamo già visto in un questa lezione della nostra guida a PHP.

Vediamo di approfondire facendo un esempio. Poniamo di voler verificare se due variabili sono tra loro uguali stampando a video il risultato dell’operazione di confronto:

<?
// imposto due variabili con uguale contenuto
$var_a = "mrwebmaster";
$var_b = "mrwebmaster";

// Utilizzo l'operatore ternario per verificare l'uguaglianza
echo ($var_a == $var_b ? "uguali" : "diverse");
?>

Per fare questa verifica, invece di usare if ed else abbiamo usato due segni di punteggiatura, ovvero ? e : che identificano, rispettivamente, l’istruzione per il TRUE (?) e quella per il FALSE (:).

In pratica abbiamo scritto la nostra condizione (nell’esempio $var_a == $var_b) e poi abbiamo specificato il risultato in caso la condizione risulti verificata (cioè ciò che viene dopo il ?) e quello nel caso non lo sia (cioè ciò che viene dopo :).

Questa la sintassi:

CONDIZIONE ? VERO : FALSO

Per chiarirte meglio facciamo un altro esempio: poniamo di avere 2 numeri e di voler stampare a video il più grande… ancora una volta, invece di costruire un inutile costrutto di if ed else ci affidiamo all’operatore ternario che offre una sintassi più snella e compatta.

<?
// imposto due variabili con valore (numerico) differente
$num_a = 9;
$num_b = 12;

// Uso l'operatore ternario per stampare a video il numero più grande
print "Il numero maggiore è: " . ($num_a > $num_b ? $num_a : $num_b);
?>

Che tradotto vuol dire: poniamo che $num_a sia maggiore di $num_b, se la nostra supposizione è vera stampo $num_a in caso contrario stampo $num_b. Spero di esservi stato di aiuto nello scrivere codice sempre più conciso e pulito.

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).

Leggi anche...

Correggere l’errore the uploaded file exceeds the upload_max_filesize directive in php.ini

L'errore the uploaded file exceeds the upload_max_filesize directive in...

Cannot modify header information – headers already sent: come risolvere l’errore PHP

L'errore di PHP cannot modify header information - headers...

Ricavare l’estensione di un file con PHP

Quando si lavora con i file in un'applicazione web,...

GD Library: creazione, manipolazione e ridimensionamento immagini con PHP

Le librerie GD (o GD Library), sono componenti fondamentali...

PHP: impostare il fuso orario italiano

Le tue pagine PHP non mostrano l’orario corretto? Probabilmente...
Pubblicitร