分支执行是依据条件满足哪个语句块来执行某些代码的,在php中主要是通过if,和switch两种语句来执行分支操作的,跟小编去看看吧。
1.if语句
单向条件
if(表达式) { 语句;}
在单向条件下,只要表达式为true,就可以执行后面的语句,如果表达式不成立,则不执行。
$pass=60;
$a=40;
if($a>=$pass){
echo '恭喜,考试通过';
}
echo '代码执行结束!';
由于$a
双向条件
if(表达式) { 语句1;
}else{ 语句2;
}
在双向条件下,如果表达式为true,将执行语句1,如果表达式不成立,则执行语句2。
$pass=60;
$a=40;
if($a>=$pass){
echo '恭喜你!考试通过啦!';
}else{
echo '很遗憾,您的考试没有通过!';
}
由于$a
多向条件
if(表达式1) { 语句1;
}elseif(表达式2){ 语句2;
}elseif(表达式3){ 语句3;
}else{ 语句4;
}
在多向条件下,如果表达式1为true,将执行语句1,如果表达式1不成立,则执行表达式2。表达式2成立,执行语句2,不成立执行语句3,以此类推下去,直到退出if语句。
$a=84;
$grade1=60;//低于60不及格
$grade2=75;//及格
$grade3=85;//良好
if($a
echo '不及格';
}elseif($a
echo '恭喜你及格了';
}elseif($a
echo '良好!';
}else{
echo '优秀';
}
由于$a>$grade1,表达式为false,所以执行$a>$grade2,然而表达式不成立,所以执行$a
注意:if语句表达式所控制的代码,最好用花括号括起来,哪怕就是一条语句也用花括号括起来。
2.switch语句
switch(表达式){
case 值 1:语句块1;//case相当于==
break;
case 值 2:语句块2;
break;
.......
default:语句块n
}
在switch语句中,表达式中的值会与下面某个case值相同,如果没有相同的值,则执行default语句。
switch($i){
case 0:echo"0";
break;
case 1:echo"1";
break;
case 2:echo"2";
break;
default:echo"3";
break;
}
?>
执行上述代码会得到结果:0
注意:
表达式的值最好是整形或者字符串;
不要忘记break语句来跳出switch语句,每个case语句后面都加上break;
如果某个case语句后面并没有接语句块,那么就说明这个语句块的内容是同下;
case后面的语句块是不需要{}括起来的。