Sintassi condizionale PHP che utilizza l'opzione Switch e Case

L'istruzione switch / case offre funzionalità simili all'istruzione if / elseif; tuttavia, offre una soluzione più elegante e ha capacità oltre l'alternativa if / elseif.


Un'istruzione switch / case consente confronti multipli di un varaible. Ad esempio, considera la seguente istruzione if:

if ($ var == 1) {
echo "One";
} elseif ($ var == 1) {
echo "Due";
} altro {
echo "Altro";
}

Questo è identico all'istruzione switch / case che segue:

switch ($ var) {
caso 1:
echo "One";
rompere;
caso 2:
echo "Due";
rompere;
predefinito:
echo "Altro";
}

In questo esempio, se $ var è uguale a 1, la prima frase case sarà vera; e il codice associato (echo "One";) verrà eseguito. L'output risultante sarebbe il seguente:

Uno

Se $ var non corrisponde a 1 o 2, allora il codice nel blocco predefinito verrebbe eseguito proprio come il blocco else finale in un'istruzione if / elseif / else.

Le istruzioni switch / case differiscono da quelle if / elseif principalmente a causa dell'istruzione break. Senza le istruzioni break nell'esempio precedente, il valore 1 per $ var corrisponderebbe al primo blocco del caso. Inoltre, ogni successivo codice di blocco di casi verrà eseguito fino a quando non viene rilevata un'istruzione di interruzione, indipendentemente dal fatto che $ var corrisponda alle successive dichiarazioni di caso. L'output risultante sarebbe il seguente:

Uno
Due
Altro