La struttura di controllo MATCH in PHP
In PHP8 è stato introdotta l'espressione match che viene utilizzata per il controllo di un valore. È simile all'istruzione switch, ovvero corrisponde all'espressione con i suoi valori alternativi.
Indice
Sintassi di match
match(expression){
chiave1 => 'valore1',
chiave2, chiave3 , chiave4 => 'valore2,
default => 'valore3'
};
nota: match effettua solo un controllo stretto (===) questo vuol dire che se ad esempio 404 è una stringa "404" non risulterà e l'output sarà "codice not found".
Esempio con match
Con questo esempio vogliamo controllare se il codice di errore preso in esame combacia con quello delle chiavi contenute all'interno di match, per poi stampare un messaggio di errore appropriato in base al codice. Nel caso specifico, il codice $errorCode è impostato su 404, quindi verrà stampato "Errore richiesta". Se il codice non è presente tra quelli elencati, verrà stampato "codice di errore non riconosciuto".
<?php
$errorCode = 404;
$msg = match($errorCode){
401, 403 , 404 => 'Errore Richiesta',
500, 502 => 'Errore interno del server',
default => 'codice di errore non riconosciuto'
};
echo $msg;
?>
// output : Errore Richiesta