条件控制语句是所有流程控制语句中最简单、最常用的一个,根据获取的不同条件判断执行不同的语句,它的应用范围十分广泛,无论程序大小,几乎都会应用到这句。主要有以下几种形式:
if () {} //这是执行多条语句的表达形式
if () {}else{} //这是通过else延伸了的表达形式
if () {}elseif(){}else{} //这是加入了elseif同时判断多个条件的表达形式
3.1.1 if语句
if语法格式如下:
if(expr) {
statement; //这是基本的表达形式
}
参数expr按照布尔运算求值,如果expr的值为true, 将执行statement;如果值为false,则忽略statement。
例3.1 本例使用条件判断来执行是否为真,如果为真,执行下面语句;如果为假,则跳出语句。实例代码如下:
<?php
$a=5;
if($a / 2 ==0){
echo "执行了if语句";
}
echo"无论是否执行if语句我都会出来,但if为真,他会打印'执行了if语句'";
?>程序运行结果为:
无论是否执行if语句我都会出来,但if为真,他会打印‘执行了if语句’
3.1.2 if…else语句
else的功能是当if语句在参数expr的值为false时执行其他语句,即在执行的语句不满足这个条件时执行else后大括号中的语句。
在执行语句时需要有选择,当一个条件不满足时需要执行另外一个条件,if就无法满足,这时可以使用if…else语句,语法结构为:
if(expr) {
statement1; //这是基本的表达形式
}else{
statement2;
}
例3.2 使用上例,对上例修改如下:
<?php
$a=5;
if($a / 2 ==0){
echo "$a/2=0为真,所以打印本条语句";
}else{
echo "$a/2=0为假,故此打印本条语句";
}
?>
程序运行结果为:
$a/2=0为假,故此打印本条语句
3.1.3 else if语句
if语句可以无限层地嵌套到其他if语句中去,实现更多条件的判断执行。在同时判断多个PHP提供了else if语句来扩展需求,else if语句被放置在if和else语句之间,满足条件同时判断的需求。语法格式为:
if(expr1) {
statement1; //这是基本的表达形式
}else if(expr2){
statement2;
}…
else{
statement;
}
例3.3 本例通过学生成绩来判断学生成绩是不及格、及格、良好、优秀。代码如下:<?php
$mark = 90; //可以动态输入数据
if($mark>=90 and $mark<=100){ //判断成绩在90与100之间 echo "优秀";
}else if($mark>=60 and $mark<90){ //否则判断成绩在60与90之间 echo "良好";
}else{
echo "不及格";
}
?>
程序运行结果为:
优秀
3.1.4 switch … case多重判断语句
if…else虽然可以进行多重执行控制,但工作量还是比较烦琐,如果有选择地执行若干代码块之一,使用 switch 语句。switch 语句用于基于不同条件执行不同动作,使用switch 语句可以避免冗长的 if…elseif…else 代码块。语法格式为:
switch (expression)
{
case label1:
code to be executed if expression = label1;
break;
case label2:
code to be executed if expression = label2;
break;
default:
code to be executed
if expression is different
from both label1 and label2;
}
工作原理:
①对表达式(通常是变量)进行一次计算。
②把表达式的值与结构中 case 的值进行比较。
③如果存在匹配,则执行与 case 关联的代码。
④代码执行后,break 语句阻止代码跳入下一个 case 中继续执行。
⑤如果没有 case 为真,则使用 default 语句。
例3.4 本实例选择对应表达式,给变量赋值为red,让变量$favcolor与结构中的case值比较输出相应的结果。代码如下:
<?php
$favcolor="red"; //给变量$favcolor赋值为red
switch ($favcolor) {
case "red": //表达式的值与结构中 case 的值进行比较
echo "Your favorite color is red!";
break;
case "blue": //与条件不同进行比较,red执行完成跳出switch
echo "Your favorite color is blue!";
break;
case "green":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, or green!";}
?>
程序运行结果为:
Your favorite color is red!
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。