条件控制语句有两个,一个是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或者文件结果。