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';}

也可以使用switch来判断一个取值范围,或者说是在case中自定义条件。

<?phpheader("content-type:text/html;charset=utf8");$score=50;switch($score) { case $score>=90 && $score<=100: echo "优
"; break; case $score>=80 && $score<90: echo "良
"; break; case $score>=70 && $score<80: echo "中
"; break; case $score>=60 && $score<70: echo "及格
"; break; case $score>=0 && $score<60: echo "不及格
"; break; default: echo"成绩输入错误
";}?>

简单示例

<?php //switch细节 //情况一:数值匹配的时候自动转换成字串 $a=1; switch($a){case "1":echo 'hello1';break;default:echo 'sorry none is the same!';break; } echo '
'.'成功退出····'; echo '


';//情况二:数值匹配的时候自动转换成字符 $a=1; switch($a){case '1':echo 'hello2';break;default:echo 'sorry none is the same!';break; } echo '
'.'成功退出····'; echo '
';//情况三:字符匹配的时候自动转换成数值 $a='1'; switch($a){case 1:echo 'hello3';break;default:echo 'sorry none is the same!';break; } echo '
'.'成功退出····'; echo '
';//情况四:字串匹配的时候自动转换成数值 $a="1"; switch($a){case 1:echo 'hello4';break;default:echo 'sorry none is the same!';break; } echo '
'.'成功退出····'; echo '
';//情况五:float也可以匹配 $a=1.1; switch($a){case 1.1:echo 'hello5';break;default:echo 'sorry none is the same!';break; } echo '
'.'成功退出····'; echo '
';//情况六:非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 '
'.'成功退出····'; echo '
';//情况七:能匹配boolean $a=true; switch($a){case true:echo 'hello7';break;case 2:echo 'hello71';break;default:echo 'sorry none is the same!';break; } echo '
'.'成功退出····'; echo '
';//情况八:能匹配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 '
'.'成功退出····'; echo '
';//情况九:退出顺序 $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 '
'.'成功退出····'; echo '
';//情况十:退出顺序 $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 '
'.'成功退出····'; echo '
'; ?>

运行结果

hello1成功退出····hello2成功退出····hello3成功退出····hello4成功退出····hello5成功退出····hello6成功退出····hello7成功退出····hello81成功退出····我是5号出口hello61成功退出····hello6我是2号出口成功退出····

09-14 04:16