Posso usare un "o" logico in un caso di istruzione switch PHP?
-
05-07-2019 - |
Domanda
È possibile utilizzare " o " oppure " e " in una custodia? Ecco cosa sto cercando:
case 4 || 5:
echo "Hilo";
break;
Soluzione
No, ma puoi farlo:
case 4:
case 5:
echo "Hilo";
break;
Consulta il manuale di PHP .
EDIT: Informazioni sul caso AND: switch controlla solo una variabile, quindi non funzionerà, in questo caso puoi farlo:
switch ($a) {
case 4:
if ($b == 5) {
echo "Hilo";
}
break;
// Other cases here
}
Altri suggerimenti
Il modo per raggiungere questo obiettivo in modo efficace è:
CASE 4 :
CASE 5 :
echo "Hilo";
break;
Si chiama istruzione switch con fall through. Da Wikipedia :
" In C e linguaggi costruiti in modo simile, viene ampiamente utilizzata la mancanza di parole chiave di interruzione per causare la caduta dell'esecuzione del programma da un blocco al successivo. Ad esempio, se n = 2, la quarta istruzione case produrrà una corrispondenza con la variabile di controllo. La riga successiva restituisce "n è un numero pari". L'esecuzione continua attraverso le successive 3 dichiarazioni di caso e alla riga successiva, che genera "n è un numero primo". La linea di interruzione dopo ciò provoca la conclusione dell'istruzione switch. Se l'utente digita più di una cifra, viene eseguito il blocco predefinito, producendo un messaggio di errore. & Quot;
No, credo che valuterà come (4 || 5) che è sempre vero, ma potresti dire:
case 4:
case 5:
// do something
break;
potresti semplicemente impilare i casi:
switch($something) {
case 4:
case 5:
//do something
break;
}
switch($a) {
case 4 || 5:
echo 'working';
break;
}