La struttura di controllo SWITCH in PHP

La struttura di controllo switch viene utilizzata per eseguire una diversa azione a seconda del valore di una variabile.
Indice
Sintassi di switch
switch (expression) {
case valuta1:
// codice da eseguire se expression è uguale a valuta1
break;
case valuta2:
// codice da eseguire se expression è uguale a valuta2
break;
default:
// codice da eseguire se nessun case è vero
}
nota: switch effettua solo un controllo semplice (==) questo vuol dire che se ad esempio 404 è una stringa "404" risulterà comunque valido e l'output sarà "codice not found".
Esempio con switch
Con questo esempio vogliamo controllare se il codice di errore preso in esame matcha con quello dei case all'interno di switch e stampare un messaggio di errore appropriato in base al codice. Nel caso specifico, il codice $errorCode è impostato su 404, quindi verrà stampato "Codice not found". Se il codice non è presente tra quelli elencati, verrà stampato "codice di errore non riconosciuto".
<?php
$errorCode = 404;
switch($errorCode) {
case 401 : echo "Codice di non autenticazione"; break;
case 403 : echo "Codice di non autorizzazione"; break;
case 404 : echo "Codice not found"; break;
case 500 : echo "Codice di errore server"; break;
default: echo "codice di errore non riconosciuto";
};
?>
//output : Codice not found
Per capire al meglio l'esempio sopra, possiamo riscriverlo usando la struttura di controllo if else:
<?php
// sintassi con if else
$errorCode = 404;
if($errorCode === 401) {
echo "Codice di non autenticazione";
} else if($errorCode === 403) {
echo "Codice di non autorizzazione";
} else if($errorCode === 404) {
echo "Codice not found";
} else if($errorCode === 500) {
echo "Codice di errore server";
};
?>
//output : Codice not found