Come usare un operatore ternario per assegnare un valore alla variabile in php

Per assegnare dei valori ad una valiabile usiamo ad esempio:


 if($row['mode'] === 'error'){ $res = 'text-danger';}else{$res = 'text-success';}  

Esiste però un modo più compatto per scrivere il codice ed è appunto usando l'operatore ternario.

Quindi come fare?

-

Questo codice può essere scritto in modo piu efficiente e compatto:

if($row['mode'] === 'error')
{ 
   $res = 'text-danger';}
else{
   $res = 'text-success';}

Infatto utilizzando l'operatore ternario possiamo assegnare il valore alla variabile scrivendolo su una sola riga. 

Ecco come puoi riscrivere il tuo codice con l'operatore ternario: 

$res = ($row['mode'] === 'error') ? 'text-danger' : 'text-success';

Come funziona?

- Se `$row['mode'] === 'error'` è vero, `$res` sarà assegnato a `'text-danger'`.
- Altrimenti, `$res` sarà assegnato a `'text-success'`.

Questo è il modo più compatto per eseguire questa operazione senza la necessità di scrivere un blocco `if-else`.
 

Alternativa con `null coalescing` (PHP 7+):

Se vuoi gestire anche il caso in cui `$row['mode']` potrebbe non essere impostato (ad esempio, se non è definito o è `null`), puoi usare l'operatore di coalescenza nulla (`??`), che assegna un valore di default se una variabile non esiste o è `null`.

Ad esempio: 

$res = ($row['mode'] ?? '' === 'error') ? 'text-danger' : 'text-success';

In questo caso, se `$row['mode']` non è impostato, il confronto sarà con una stringa vuota `''`.

In conclusione, il metodo con l'operatore ternario è un'alternativa più efficiente e compatta al tradizionale `if-else`.


 


Php
 


Lascia un commento