Operatore ternario in PHP
Supponiamo di avere il seguente codice, che verifica
se un utente ha già 18 anni o meno:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Come puoi vedere, la struttura if-else
è necessaria solo per assegnare un determinato
valore alla variabile $adult. Per
questo tipo di compiti, in cui una condizione
determina solo l'assegnazione di un valore a una variabile, esiste
una soluzione più breve tramite il cosiddetto
operatore ternario.
La sua sintassi è la seguente:
<?php
variable = condition ? value1 : value2;
?>
L'operatore funziona così: se la condizione è vera,
viene restituito value1, altrimenti
viene restituito value2. Riscriviamo
il codice presentato all'inizio della lezione utilizzando
l'operatore ternario:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
A proposito, invece di assegnare il risultato a
una variabile, puoi stamparlo direttamente con var_dump:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
L'operatore ternario dovrebbe essere utilizzato solo nei casi più semplici, poiché il suo utilizzo rende il codice meno leggibile.
Sia data una variabile $num, che
può essere negativa o positiva.
Assegna alla variabile $res il numero
1 se la variabile $num è maggiore
o uguale a zero, e il numero -1 se la variabile
$num è minore di zero.