详解php实现分支操作的两种方法

分支执行是依据条件满足哪个语句块来执行某些代码的,在php中主要是通过if,和switch两种语句来执行分支操作的,跟小编去看看吧。

1.if语句

单向条件

if(表达式) { 语句;}

在单向条件下,只要表达式为true,就可以执行后面的语句,如果表达式不成立,则不执行。

$pass=60;
$a=40;
if($a>=$pass){
echo '恭喜,考试通过';
}
echo '代码执行结束!';

由于$a<$pass,所以表达式为false,输出结果为:代码执行结束!

双向条件

if(表达式) { 语句1;
}else{ 语句2;
}

在双向条件下,如果表达式为true,将执行语句1,如果表达式不成立,则执行语句2。

$pass=60;
$a=40;
if($a>=$pass){
    echo '恭喜你!考试通过啦!';
}else{
    echo '很遗憾,您的考试没有通过!';
 }

由于$a<$pass,所以表达式为false,输出结果为:很遗憾,您的考试没有通过!

多向条件

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<$grade1){
	echo '不及格';
}elseif($a<$grade2){
	echo '恭喜你及格了';
}elseif($a<$grade3){
	echo '良好!';
}else{
	echo '优秀';
}

由于$a>$grade1,表达式为false,所以执行$a>$grade2,然而表达式不成立,所以执行$a<$grade3,表达式成立,输出结果:良好!

注意:if语句表达式所控制的代码,最好用花括号括起来,哪怕就是一条语句也用花括号括起来。

2.switch语句

switch(表达式){
    case 值 1:语句块1;//case相当于==
    break;
    case 值 2:语句块2;
    break;
    .......
    default:语句块n
}

switch语句中,表达式中的值会与下面某个case值相同,如果没有相同的值,则执行default语句。

<?php
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后面的语句块是不需要{}括起来的。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 详解php实现分支操作的两种方法