上一篇: 选择结构if语句-流程控制语句
下一篇: 循环结构while循环语句-流程控制语句
Switch条件语句是一种很常用的选择语句,和if不同,它只针对某个表达式的值做出判断,从而决定执行哪一段代码。
如,用数字1-7表示星期一到星期天,根据输入的数字输出对应的星期。可能会想到使用if……else if……else……来实现,但由于判断条件过多,实现的代码会比较长。PHP提供了switch来实现这种要求。
在switch语句使用switch关键字来描述一个表达式,使用case关键字来描述和表达式结果比较的目标值,但表达式的值匹配目标值时,会执行对应case下的语句。
Switch语句的基本语法结构如下:
<?php
switch(表达式){
case 目标值1:
执行语句1
break;
case 目标值2:
执行语句2
break;
……
case 目标值n:
执行语句n
break;
default:
执行语句
break;
}
?>
在上述语法格式中,switch将表达式的值与每一个case中的目标值进行匹配,如果找到对应的匹配值,就会执行cse后的语句,如果没有找到目标值,就会执行default后的语句。Switch语句中的break关键字为跳出switch语句。
工作原理:案例:
<?php
$week=5;
switch($week){
case 1:
echo "星期一";
break;
case 2:
echo "星期二";
break;
case 3:
echo "星期三";
break;
case 4:
echo "星期四";
break;
case 5:
echo "星期五";
break;
case 6:
echo "星期六";
break;
case 7:
echo "星期天";
break;
default:
echo "输入数字不正确";
break;
}
?>
在使用switch语句中,如果多个case条件后面的语句是一样的,则该执行语句只需要书写一次即可,这是一种简写的方式。
如判断一周的某一天为工作日还是休息日。(输入1、2、3、4、5视为工作日,6、7视为休息日)
<?php
$week=7;
switch($week){
case 1:
case 2:
case 3:
case 4:
case 5:
echo "今天是工作日";
break;
case 6:
case 7:
echo "今天是休息日";
break;
default:
echo "请输入正确数字";
break;
}
?>
其他事项
1. 可以使用分号“;”代替cse后的冒号“:”,执行效果一样。
2. php中,switch语句中的break也可以使用continue代替,作用基本相同
3. 在switch语句执行代码的最后,包含一条break语句很重要。如没有break语句,程序会一直执行下一个case语句,并最终达到默认语句。大多数情况下都会导致结果错误。一定要在适当的地方使用break语句。
上一篇: 选择结构if语句-流程控制语句
下一篇: 循环结构while循环语句-流程控制语句
*声明:内容来源于网络收集和整理,版权归原著所有,如来源信息有误或侵犯权益,请联系站长作修改和删除处理。