PHP条件结构之switch…case…
1.PHP中的“switch...case...”语法,如下:
<?php
switch (条件)
{
case 条件值一:
//任务一
break;
case 条件值二:
//任务二
break;
default:
//默认任务
}
?>
首先判断条件,若条件的返回值为条件值一,则执行任务一,若条件返回的值为条件值二,则执行任务二,若条件的返回值既不是条件值一也不是条件值二,则执行默认任务。
switch (条件)中的 “条件” 写几,case就从几开始执行,如果写成100,它找不到case就执行default。
其中的case 严格来说不是判断,是第一次符合条件的入口,然后从这里开始顺序执行。
只有使用了break,才是判断语句,如果没有break,其实就是顺序执行语句。
break的作用是结束switch(后面会有专门举例说明)。
使用 switch 语句可以避免冗长的 “if..else if..else”代码块。
范例:抽奖应用,随机生成一个数字,数字范围为1至50(也可以1至5,这样中将几率更高^_^),假设是1表示一等奖,2是二等奖,3是三等奖。
<?php
$num = rand(1,50);//获取1至50的随机数
$info = "";//提示信息
switch($num){
case 1:
$info = "恭喜你!中了一等奖!";
break;
case 2:
$info = "恭喜你!中了二等奖!";
break;
case 3:
$info = "恭喜你!中了三等奖!";
break;
default:
$info = "很遗憾!你没有中奖!";
}
echo $info; //输出是否中奖
?>
<?php
//A例子
$num = 2;
$sum = 10;
switch($num){
case 1:
$sum = $sum + 10;
break;
case 2:
$sum = $sum + 10;
break;
case 3:
$sum = $sum + 10;
break;
default:
$sum = $sum + 10;
}
echo "A例子的值是:".$sum."<br />";
//B例子
$num = 2;
$sum = 10;
switch($num){
case 1:
$sum = $sum + 10;
case 2:
$sum = $sum + 10;
case 3:
$sum = $sum + 10;
default:
$sum = $sum + 10;
}
echo "B例子的值是:".$sum."<br />";
?>
输出结果:
A例子的值是:20
B例子的值是:40
|