购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 条件控制语句

条件控制语句有两个,一个是if条件控制语句,另一个是switch条件控制语句。

3.1.1 if条件控制语句

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

3.1.2 switch分支语句

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或者文件结束。 7Dxec/1avNWmGX+hH/+IIRLIuOfSY3U3ToVswneVJAFgQnVO9ftwuO2mrKPdzD6O

点击中间区域
呼出菜单
上一章
目录
下一章
×