Kann ich eine logische „oder“ in einer PHP-switch-Anweisung Fall verwenden?
-
05-07-2019 - |
Frage
Ist es möglich, zu verwenden „oder“ oder „und“ in einem Schaltergehäuse? Hier ist, was ich bin nach:
case 4 || 5:
echo "Hilo";
break;
Lösung
, aber Sie können dies tun:
case 4:
case 5:
echo "Hilo";
break;
Sehen Sie die PHP-Handbuch .
EDIT: über den UND Fall: Schalter nur eine Variable überprüft, so dass dies nicht funktionieren wird, in diesem Fall, dass Sie dies tun können:
switch ($a) {
case 4:
if ($b == 5) {
echo "Hilo";
}
break;
// Other cases here
}
Andere Tipps
Die Art und Weise Sie dies effektiv zu erreichen ist:
CASE 4 :
CASE 5 :
echo "Hilo";
break;
Es ist eine switch-Anweisung mit Fall durch genannt. Aus Wikipedia :
"In C und ähnlich konstruierten Sprachen, die fehlende Pause Keywords verursachen fällt durch die Programmausführung von einem Block zum nächsten ausgiebig verwendet wird. Zum Beispiel, wenn n = 2, die vierte Fall Aussage eine Übereinstimmung erzeugen an die Steuervariable. die nächste Zeile gibt „n eine gerade Zahl ist.“. die Ausführung der nächsten 3 case-Anweisungen, und in der nächsten Zeile, die „eine Primzahl ist. n“ Ausgänge weiter durch. der Zeilenumbruch nach dies die Ursachen switch-Anweisung zu schließen. Wenn der Benutzer in mehr als eine Ziffer, wird der Standardblock ausgeführt wird, eine Fehlermeldung zu erzeugen. "
Nein, ich glaube, dass wird prüfen, wie (4 || 5), die immer wahr ist, aber man könnte sagen:
case 4:
case 5:
// do something
break;
Sie könnten nur die Fälle stapeln:
switch($something) {
case 4:
case 5:
//do something
break;
}
switch($a) {
case 4 || 5:
echo 'working';
break;
}