Wenn Sie verwenden müssen , ||
mit switch
versuchen Sie können dann:
$v = 1;
switch (true) {
case ($v == 1 || $v == 2):
echo 'the value is either 1 or 2';
break;
}
Wenn nicht, wäre Ihre bevorzugte Lösung gewesen
switch($v) {
case 1:
case 2:
echo "the value is either 1 or 2";
break;
}
Das Problem ist, dass beide Methoden bei großen Fällen nicht effizient sind. Stellen Sie sich vor 1
, 100
dies würde perfekt funktionieren
$r1 = range(1, 100);
$r2 = range(100, 200);
$v = 76;
switch (true) {
case in_array($v, $r1) :
echo 'the value is in range 1 to 100';
break;
case in_array($v, $r2) :
echo 'the value is in range 100 to 200';
break;
}
switch()
, und wenn ich in einer C-ischen Sprache arbeite, vermisse ich es wirklichSelect Case
, was eine Abkürzung für "es gibt eine große" ist Block von wenn, sonst wenn, sonst-wenn ... hier ".you can't use switch for more "complicated" statements
ist escan't
oder ist esshouldn't
? weil in Ihrem Beispiel Siecan
switch (true)
Dingen ist kein gewöhnlicher Anwendungsfall für Switches.Versuchen Sie es mit den folgenden Beispielen in diesem Artikel: http://phpswitch.com/
Mögliche Schalterfälle:
(ich). Eine einfache switch-Anweisung
Die switch-Anweisung ist wunderbar und magisch. Es ist ein Teil der Sprache, mit dem Sie zwischen verschiedenen Optionen für einen Wert wählen und je nach festgelegtem Wert verschiedene Codeteile ausführen können.
Jede mögliche Option wird durch einen Fall in der switch-Anweisung angegeben.
Beispiel:
(ii). Codeblöcke abgrenzen
Die größte Einschränkung des Schalters ist, dass jeder Fall in den nächsten übergeht, es sei denn, Sie stoppen ihn mit einer Pause. Wenn der obige einfache Fall auf Fall 5 ausgedehnt wird:
Beispiel:
(iii). Verwenden von Fallthrough für mehrere Fälle
Da der Switch den Code so lange ausführt, bis eine Unterbrechung festgestellt wird, ist es einfach genug, das Konzept des Fallthroughs zu verwenden und denselben Code für mehr als einen Fall auszuführen:
Beispiel:
Fall 2:
(iv). Erweiterte Umschaltung: Zustandsfälle
Mit dem Schalter von PHP können Sie nicht nur den Wert einer bestimmten Variablen einschalten: Sie können einen beliebigen Ausdruck als einen der Fälle verwenden, sofern er einen Wert für den zu verwendenden Fall angibt. Als Beispiel ist hier ein einfacher Validator, der mit switch geschrieben wurde:
Beispiel:
Ich denke, dies kann Ihnen helfen, Ihr Problem zu lösen.
quelle
Versuchen
quelle
Ich empfehle Ihnen, http://php.net/manual/en/control-structures.switch.php (Handbuch) durchzugehen.
Erläuterung
Wie für den Wert, den Sie für die Ausführung einer einzelnen Anweisung verwenden, können Sie ihn ohne Unterbrechung einfügen, bis oder solange keine Unterbrechung gefunden wird, wird der Code weiter ausgeführt, und wenn eine Unterbrechung gefunden wird, wird er aus dem Schalterfall entfernt.
quelle
Verwenden Sie diesen Code:
Der Block forderte sowohl 1 als auch 2.
quelle
quelle
http://php.net/manual/en/control-structures.switch.php Beispiel
quelle
Der beste Weg könnte sein, wenn sonst mit Anfrage. Dies kann auch einfacher und klarer zu bedienen sein.
Beispiel:
Anstatt die Funktionen zu verwenden, die mit PHP nicht gut funktionieren, insbesondere wenn Sie PHP in HTML haben.
quelle