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号出口
- 成功退出····
新闻热点
疑难解答