



条件控制语句有两个,一个是if条件控制语句,另一个是switch条件控制语句。
PHP和C语言有着类似的if语句结构,其使用格式如下:
<?php
if(expr){
statement_1
} else {
statement_2
}
?>
expr按照布尔求值,如果expr为True,就执行statement_1(此处表示代码块),否则执行statement_2。
请看以下示例:
<?php
if(3 > 1){
echo 'right';
} else {
echo "incorrect";
}
?>
执行上述代码将会打印出“right”。
当有多个条件需要判断时,可以使用else if语句继续添加条件。使用格式如下:
<?php
if(expr1){
statement_1
} else if(expr2){
statement_2
} else if(expr3){
statement_3
} else if(expr4){
statement_4
} else {
statement_5
}
?>
具体示例代码如下:
<?php
$a = 22;
if($a<5) {
echo "$a is less than 5";
} else if($a>=5 && $a<10) {
echo "\$a is greater than or equal 5,but less than 10";
} else if($a>=10 && $a<20) {
echo "\$a is greater than or equal 10,but less than 20";
} else if($a>=20 && $a<30){
echo "\$a is greater than or equal 20,but less than 30";
} else {
echo "\$a is greater than or equal 30";
}
?>
执行以上代码将会打印出以下语句:
$a is greater than or equal 20,but less than 30
switch语句类似具有多个判断条件的if语句。switch语句将一个变量或表达式与很多不同的值比较,根据它等于哪个值来选择执行不同的代码。switch语句的语法如下:
switch (expr) {
case expr1:
statement_1;
break;
case expr2:
statement_2;
break;
case expr3:
statement_3;
break;
case expr4:
statement_4;
break;
default:
statement_default;
break;
}
PHP会将expr中的值与expr1、expr2、expr3、expr4的值进行比较,若与其中一个值相等,则对应执行其下的代码块,否则执行default后的代码。在每个代码块后面加上break是为了阻止执行完本部分代码之后继续向下执行。一个关于switch语句的实例如下:
<?php
$a = 3;
switch ($a) {
case 1:
echo "\$a is 1";
break;
case 2:
echo "\$a is 2";
break;
case 3:
echo "\$a is 3";
break;
case 4:
echo "\$a is 4";
break;
case 5:
echo "\$a is 5";
break;
default:
echo "\$a is not equal 1,2,3,4,5";
break;
}
?>
执行以上代码的结果是:
$a is 3
如果没有在代码块中加入break,执行结果将会是:$a is 3$a is 4$a is 5$a is not equal 1,2,3,4,5。代码会执行完case 3后面的全部语句,直到遇到break或者文件结果。