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..

我们用流程图来表示的话结果就如下图所示:

14.png

实例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的作用是什么


Weiter lernen
||
<?php $num = rand(1,4); switch($num){ case 1: echo "周末宅在家吧"; break; case 2: echo "周末去爬大蜀山吧"; break; case 3: echo "周末去看电影吧"; break; case 4: echo "周末爱干啥干啥去"; break; } ?>
einreichenCode zurücksetzen