Heim > Artikel > Backend-Entwicklung > Bedingter Anweisungswechsel in PHP
Die switch-Anweisung ähnelt der if-Anweisung, beide sind bedingte Anweisungen. In vielen Fällen ist es notwendig, eine Variable (oder einen Ausdruck ) mit unterschiedlichen Werten zu vergleichen und unterschiedliche Codes auszuführen, je nachdem, welchem Wert sie entspricht. In diesem Fall verwenden wir Die switch-Anweisung ist angemessener.
Switch-Anweisung ist auch die längste und häufigste logische Steueranweisung unter objektorientierten Programmieranweisungen. Switch-Anweisungen werden verwendet, um unterschiedliche Aktionen basierend auf mehreren unterschiedlichen Bedingungen auszuführen. Das heißt, wenn die Bedingungen unterschiedlich sind, werden unterschiedliche logische Operationen ausgeführt.
Die Verwendung der Switch-Anweisung in PHP ähnelt der Verwendung von Switch in anderen Anweisungen, beachten Sie jedoch, dass es eine Break-Anweisung gibt.
Standardsyntax der Switch-Anweisung in PHP:
switch (expression) { case label1: code to be executed if expression = label1; break; case label2: code to be executed if expression = label2; break; default: code to be executed if expression is different from both label1 and label2; }
Beispiel:
switch($i){ case 1: echo 1; break; case 2: echo 2; break; default: echo 'others'; }
Sie können auch Switch verwenden, um einen Wertebereich oder It zu bestimmen ist in diesem Fall eine benutzerdefinierte Bedingung.
<?php header("content-type:text/html;charset=utf8"); $score=50; switch($score) { case $score>=90 && $score<=100: echo "优<br>"; break; case $score>=80 && $score<90: echo "良<br>"; break; case $score>=70 && $score<80: echo "中<br>"; break; case $score>=60 && $score<70: echo "及格<br>"; break; case $score>=0 && $score<60: echo "不及格<br>"; break; default: echo"成绩输入错误<br>"; } ?>
Einfaches Beispiel
<?php //switch细节 //情况一:数值匹配的时候自动转换成字串 $a=1; switch($a){ case "1": echo 'hello1'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况二:数值匹配的时候自动转换成字符 $a=1; switch($a){ case '1': echo 'hello2'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况三:字符匹配的时候自动转换成数值 $a='1'; switch($a){ case 1: echo 'hello3'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况四:字串匹配的时候自动转换成数值 $a="1"; switch($a){ case 1: echo 'hello4'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况五:float也可以匹配 $a=1.1; switch($a){ case 1.1: echo 'hello5'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况六:非0是true $a=true; switch($a){ case 1: echo 'hello6'; break; case true: echo 'hello61'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况七:能匹配boolean $a=true; switch($a){ case true: echo 'hello7'; break; case 2: echo 'hello71'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况八:能匹配null $a=null; switch($a){ case 2://'' "" false 0 都能进入 echo 'hello8'; break; case null: echo 'hello81'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况九:退出顺序 $a=5; switch($a){ case 1: echo 'hello6'; break; case 2: echo '我是2号出口'; break; case 5: echo '我是5号出口'; //break; case true: echo 'hello61'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况十:退出顺序 $a=50; switch($a){ default: echo 'sorry none is the same!'; //break; case 50: echo 'hello6'; //break; case 2: echo '我是2号出口'; break; case 5: echo '我是5号出口'; //break; case 6: echo 'hello61'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; ?>
Laufergebnis
hello1 成功退出···· hello2 成功退出···· hello3 成功退出···· hello4 成功退出···· hello5 成功退出···· hello6 成功退出···· hello7 成功退出···· hello81 成功退出···· 我是5号出口hello61 成功退出···· hello6我是2号出口 成功退出····
Vergleich von Switch-Anweisung und Elseif-Anweisung
In Switch-Anweisung In einer elseif-Anweisung wird die Bedingung nur einmal ausgewertet und dann mit jedem Fall verglichen, während in einer elseif-Anweisung die Bedingung erneut ausgewertet wird. Wenn Ihre Bedingungen komplexer sind oder mehrere Schleifen vorhanden sind, ist die Verwendung der switch-Anweisung schneller.
Empfohlene ähnliche Artikel:
Einführung in den Unterschied zwischen if else und else if in PHP
Das obige ist der detaillierte Inhalt vonBedingter Anweisungswechsel in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!