您的位置:首页 > 编程语言 > PHP开发

自学php-条件控制语句

2015-11-08 13:17 495 查看
流程控制语句

条件控制语句:主要有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语句,意思是跳出当前循环。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: