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中自定义条件。
<?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号出口
成功退出····
|