switch 문은 if 문과 유사하며 둘 다 조건문입니다. 많은 경우 변수(또는 표현식)을 다른 값과 비교하여 어느 값과 같은지에 따라 다른 코드를 실행해야 하는 경우가 있습니다. 이때는 스위치 문을 보다 적절하게 사용합니다.
Switch 문은 객체 지향프로그래밍 문에서 가장 길고 가장 일반적인 논리 제어문이기도 합니다. Switch 문은 여러 가지 다른 조건을 기반으로 다양한 작업을 수행하는 데 사용됩니다. 즉, 조건이 다른 경우 다른 논리 작업이 수행됩니다.
PHP에서 switch 문의 사용법은 다른 문의 switch 사용법과 유사하지만 break 문이 있다는 점에 유의하세요.
PHP에서 switch 문의 표준 구문:
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; }
예:
switch($i){ case 1: echo 1; break; case 2: echo 2; break; default: echo 'others'; }
또한 스위치를 사용하여 값 범위를 결정하거나 사례의 조건을 사용자 지정할 수도 있습니다.
<?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>"; } ?>
간단한 예
<?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/>'; ?>
연산 결과
hello1 成功退出···· hello2 成功退出···· hello3 成功退出···· hello4 成功退出···· hello5 成功退出···· hello6 成功退出···· hello7 成功退出···· hello81 成功退出···· 我是5号出口hello61 成功退出···· hello6我是2号出口 成功退出····
switch 문과 elseif 문 비교
switch 문에서는 조건이 한 번만 평가된 후 각 사례와 비교되지만, elseif 문에서는 조건이 다음과 같습니다. 가치를 다시 평가합니다. 조건이 더 복잡하거나 루프가 여러 개인 경우에는 switch 문을 사용하는 것이 더 빠릅니다.
비슷한 글 추천:
위 내용은 PHP의 조건문 스위치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!