【Übertragung】Der Unterschied zwischen switch und if
Wenn Sie nur Zahlen oder Zeichen vergleichen, wird die Verwendung von switch empfohlen, da dadurch nur herausgenommen wird Variable in den anfänglichen Schalterklammern Wert einmal, und vergleichen Sie diesen Wert dann mit dem unten festgelegten Fall. Wenn Sie jedoch den Variablenwert jedes Mal herausnehmen, wenn Sie auf den bedingten Ausdruck stoßen, ist der Unterschied in der Effizienz Hier. Beispiel:
if(a == 1) //... else if(a == 2) //... else if(a == 3) //...
Im schlimmsten Fall, also wenn a = 3, erfordert dieses Programmfragment insgesamt 3 Vergleiche, und jeder Vergleich muss durchgeführt werden out Der Wert der Variablen a einmal. Wenn Sie zum Schalter wechseln:
switch(a) { case 1: //... break ; case 2: //... break; case 3: //... break; }
Nehmen Sie in diesem Programmfragment nur den Wert der Variablen a in den Klammern des Schalters am Anfang heraus und vergleichen Sie ihn dann Die folgenden Fälle nacheinander, Effizienz Der Unterschied liegt hier. Natürlich ist es nicht schlecht, if zu verwenden, wenn Sie auf zusammengesetzte Bedingungen stoßen. Da komplexe bedingte Anweisungen nicht in switch kombiniert werden können, müssen Sie if verwenden. Vereinfacht ausgedrückt: Wenn und Schalter flexibel zusammen genutzt werden können.
Wenn es der switch-Anweisung sehr ähnlich ist, wie wählt man sie aus? Wenn nicht viele spezifische Werte beurteilt werden müssen und diese den Typen byte, short, char, int, String entsprechen, obwohl beide Anweisungen verwendet werden können, wird empfohlen, die switch-Anweisung zu verwenden , was effizienter ist: Für die Intervallbeurteilung ist der Ergebnistyp boolesch. Zur Beurteilung wird if verwendet, wenn dies allgemeiner ist.
Das obige ist der detaillierte Inhalt vonphp: Detaillierte Erklärung des Unterschieds zwischen switch und if. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!