PHP开发基础教程之Switch
一、Switch语句
switch 语句用于根据多个不同条件执行不同动作。
如果您希望有选择地执行若干代码块之一,请使用 switch 语句。
语法:
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
注:
switch后放需要判断的变量,而case后是放结果。switch后变值为多少,case的值写的与switch变量执相同段的代码。
上面的default也是可选的,用于放置在没有任何一项满足条件时,执行该段代码
上面的break是可选的,break 用于无条件结束各种循环
不要在case 后面写成分号,后面是冒号:
不要在case后面写判断区间,如($foo > 20 或者 $foo == 30)
switch里面在变量最好是 整型,字符串,因为布尔判断更适合if...else..
我们用流程图来表示的话结果就如下图所示:
实例1:我们还是使用上一节的rand()函数,做一个类似抛硬币选择周末干什么的例子
源码如下
<?php $num = rand(1,4); switch($num){ case 1: echo "周末宅在家吧"; break; case 2: echo "周末去爬大蜀山吧"; break; case 3: echo "周末去看电影吧"; break; case 4: echo "周末爱干啥干啥去"; break; } ?>
输出结果请自己尝试尝试吧
注:试着把break从上往下一次去掉,看看输出结果有什么变化
实例2:利用date()函数,做一个简单的星期判断吧
注:Date() 函数把时间戳格式化为更易读的日期和时间。
具体可参考PHP手册,此处我们只利用date(“D”)获得系统当前是星期几
源码如下:
<?php //得到今天是星期几的英文简称 $day = date('D'); switch($day){ //拿公司举例,我们来创造一个上三休四的制度;让星期一、二、三是工作日 case 'Mon': case 'Tue': case 'Wed': echo '今天是工作日'; break; //星期四、五、六是休息日 case 'Thu': case 'Fri': case 'Sat': echo '今天是休息日'; break; //当都不满足是,必然是星期天,活动日 default: echo '今天是周末,活动日'; } ?>
注:可以自己试试,看看default的作用是什么