本文介绍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 "优<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号出口成功退出····