流程控制语句
条件控制语句:主要有if if...else if....elseif....else switch 4种
if语句:格式为:if(expr) statement; 如果expr的值为真,就顺序执行statement语句,否则就跳过该语句,再往下执行,如果语句为多条,就是用{ }包裹起来;如:if(expr){ statement1; statement2;} 实例如下:
<?php
$num = rand(1,31); //使用rand()函数生成一个随机数
if($num % 2 == 0){ //判断是否为偶数
echo "\$num = $num"; //如果是偶数,输出其值
echo '<br>$num是偶数';
}
?> 说明:rand()函数是生成一个随机数,格式为:int rand(int mix,int max),该函数返回一个mix和max之间的随机数,如果没有参数,则返回0到RAND_MAX之间的随机整数
输出结果为:$num=一个偶数 $num是偶数
if....else语句:大多情况下需要在满足时候执行一条语句,不满足时候执行另外一条语句,这时就需要else语句;格式为:if(expr){statement1;}else{statement2;}。该语句的含义是:如果expr的值为真就执行statement1,否则,执行statement2。也可说是有两种选择的时候使用该语句 例如:
<?php
$num = rand(1,31); //使用rand()函数生成一个随机数
if($num % 2 == 0){ //判断是否为偶数
// echo "\$num = $num"; //如果是偶数,输出其值
echo '$num='.$num."<br>".'是偶数';//如果是偶数输出
}else{ //如果为奇数输出
echo '$num='.$num."<br>".'是奇数';
}
?>
输出结果,具体体现。
else if语句:当选择在两种以上时候,使用该语句;格式为:if(expr){statement1;}else if{statement2;}....else{statementn;}
例如:使用date()函数获取当前日期,判断是在本月的上旬还是......
<?php
$month = date("n");//设置月份变量
$today = date("j");//设置日期变量
if($today >= 1 and $today <= 10){ //判断日期是否在1~10之间
echo "今天是:".$month."月".$today."日上旬"; //如果是,说明是上旬,以下类似
}else if($today > 10 and $today <= 20){
echo "今天是:".$month."月".$today."日中旬";
}else{
echo "今天是:".$month."月".$today."日下旬";
}
?>
输出的当前日期为:今天是:11月8日上旬
说明:这里if语句和else if语句执行的条件是表达式的值为真,else执行的条件是表达式的值为假;注意:这里的表达式的值不等于变量的值;如:
<?php
$boo = false;
if($boo == false){
echo "true";
}else{
echo "false";
}
?> 注意:=是赋值的意思 ==是表达式的判断
输出结果为:true
switch......case语句:虽然else if可以进行多重选择,但是为了简化if语句,提高可读性,可以使用switch分支控制语句,格式:
<?php
switch(variable){
case value1:
statement1;
break;
case value2:
statement2;
.....
default:
default statement;
}
?>
switch语句根据variable的值,依次与case中value的值比较,如果不相等,找下一个case,如果相等就执行对应的statement,直到遇到break为止,一般情况下,switch语句的最终都会有一个默认值default,如果在前面的case中没有找到符合的条件,则输出default语句,此处用法和else类似。实例:
<?php
setlocale(LC_TIME,"utf-8");//设置本地环境
$weekday = strftime("%A"); //声明变量$weekday的值
switch($weekday){ //判断变量的值
case "星期一":
echo "今天是$weekday";
break;
case "星期二":
echo "今天是$weekday";
break;
case "星期三":
echo "今天是$weekday";
break;
case "星期四":
echo "今天是$weekday";
break;
case "星期五":
echo "今天是$weekday";
break;
default:
echo "today is"." ".$weekday;
break;
}
?>
运行结果为:today is Sunday
特别说明:switch语句在执行的时候,即使遇到符合的也会继续执行,直到switch语句结束才停止,为了避免这种浪费,一定要在每一句的case后加上break语句,意思是跳出当前循环。