php中switch语句用法详解
本文介绍php中的switch语句的用法,它跟其他语句中的switch用法差不多的,但注意有有一个break语句。
PHP中switch语句的标准语法:
switch(expression)
{
caselabel1:
codetobeexecutedifexpression=label1;
break;
caselabel2:
codetobeexecutedifexpression=label2;
break;
default:
codetobeexecuted
ifexpressionisdifferentfrombothlabel1andlabel2;
}
举例:
switch($i){
case1:
echo1;
break;
case2:
echo2;
break;
default:
echo'others';
}
也可以使用switch来判断一个取值范围,或者说是在case中自定义条件。
<?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'sorrynoneisthesame!';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
//情况二:数值匹配的时候自动转换成字符
$a=1;
switch($a){
case'1':
echo'hello2';
break;
default:
echo'sorrynoneisthesame!';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
//情况三:字符匹配的时候自动转换成数值
$a='1';
switch($a){
case1:
echo'hello3';
break;
default:
echo'sorrynoneisthesame!';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
//情况四:字串匹配的时候自动转换成数值
$a="1";
switch($a){
case1:
echo'hello4';
break;
default:
echo'sorrynoneisthesame!';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
//情况五:float也可以匹配
$a=1.1;
switch($a){
case1.1:
echo'hello5';
break;
default:
echo'sorrynoneisthesame!';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
//情况六:非0是true
$a=true;
switch($a){
case1:
echo'hello6';
break;
casetrue:
echo'hello61';
break;
default:
echo'sorrynoneisthesame!';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
//情况七:能匹配boolean
$a=true;
switch($a){
casetrue:
echo'hello7';
break;
case2:
echo'hello71';
break;
default:
echo'sorrynoneisthesame!';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
//情况八:能匹配null
$a=null;
switch($a){
case2://''""false0都能进入
echo'hello8';
break;
casenull:
echo'hello81';
break;
default:
echo'sorrynoneisthesame!';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
//情况九:退出顺序
$a=5;
switch($a){
case1:
echo'hello6';
break;
case2:
echo'我是2号出口';
break;
case5:
echo'我是5号出口';
//break;
casetrue:
echo'hello61';
break;
default:
echo'sorrynoneisthesame!';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
//情况十:退出顺序
$a=50;
switch($a){
default:
echo'sorrynoneisthesame!';
//break;
case50:
echo'hello6';
//break;
case2:
echo'我是2号出口';
break;
case5:
echo'我是5号出口';
//break;
case6:
echo'hello61';
break;
}
echo'<br/>'.'成功退出····';
echo'<hr/>';
?>
运行结果
hello1 成功退出···· hello2 成功退出···· hello3 成功退出···· hello4 成功退出···· hello5 成功退出···· hello6 成功退出···· hello7 成功退出···· hello81 成功退出···· 我是5号出口hello61 成功退出···· hello6我是2号出口 成功退出····