4.PHP的流程控制

分支结构

  • 单一条件分支结构
    <?php
        $a=50;
        $b=25;
        if($a>$b)            #单一语句
            echo "a大于b";

        if($a>$b){           #复合语句,用大括号
            echo "<br/>";
            echo "a大于b";
        }
    ?>

运行结果:

image-20201026141116412

  • 双向条件分支结构
    <?php
        $a=50;
        $b=25;
        if($a<$b)            
            echo "a大于b";
        else
            echo "a小于b";
    ?>

image-20201026141308191

  • 多分支结构
    <?php
        $a=70;
        if($a==50){
            echo "等于50";
        }elseif ($a==60) {
            echo "等于60";
        }elseif ($a==70) {
            echo "等于70";
        }else{
            echo "其他情况";
        }
    ?>
  • switch语句
    <?php
        $a=80;
        switch ($a) {
            case 70:
                echo "等于70";
                break;
            case 80:
                echo "等于80";
            case 90:
                echo "等于90";
                break;
            default:
                echo "其他情况";
                break;
        }
    ?>

注意:

* case后面的控制表达式不能是布尔值
* switch匹配完成以后,将依次逐条执行匹配的分支模块中的语句,直到 switch结构结束或者遇到了 break语句才停止执行。所以,如果一个分支语句的后面没有所以,如果一个分支语句的后面没有写上 break语句,则程序将继续执行下一个分支语句的内容

循环结构

  • while循环:当条件满足时,执行循环体,否则退出
    • 开始时,先检查条件,条件满足,执行循环体,否则退出循环
    • 当执行完循环体,检查条件,条件满足,再次执行循环,否则,退出循环
    <?php
        $a=1;
        while ($a<5){
            echo $a;        #输出变量的值
            echo "<br/>";
            $a++;           #将变量增加1
        }
    ?>

运行结果:

image-20201026142548832

当然,在while循环也能够嵌套使用,因此,我们可以利用php代码来生成,html标签内容

<!DOCTYPE html>
<html>
<head>
    <title>打印表格</title>
</head>
<body>
    <table align="center" border="1" width=60>
    <?php
        $tr_number=10;      #设置打印10行tr
        $td_number=10;      #设置每一行tr有10个td
        $number=1;          #设置内容的初始值
        while ($tr_number) {
            $td_number=10;      #每一行开始时,将$td_number置为0

            echo "<tr>";
            while($td_number){  #打印每行td的循环
                echo "<td>";
                echo $number;
                echo "</td>";
                $number++;
                $td_number--;
            }
            echo "</tr>";       
            $tr_number--;
        }
    ?>
    </table>
</body>
</html>

运行结果:

image-20201026143743404

  • do…while循环:循环体至少为执行一次,先执行循环体,在检查条件
<?php
    $number=0;
do{
    echo $number;
    echo "<br/>";
    $number++;
}while ($number<5);  
?>
  • for循环:适用于在知道循环次数的情况下进行
<?php
    for($a=0;$a<5;$a++){ #for(初始条件;判断条件;增量)
        echo $a;
        echo "<br/>";
    }
?>

如果有多个条件,可以用逗号进行隔开

<?php
    $b=3;   
for($a=0;$a<5,$b<>0;$a++,$b-=1){
    echo $a;
    echo "<br/>";
}
?>

以下程序演示了,利用for循环输出乘法表

    <?php
        for($a=1;$a<=9;$a++){
            for($b=1;$b<=$a;$b++){
                echo $b."*".$a."=".$b*$a;
                echo '  ';
            }
            echo "<br/>";
        }
    ?>

特殊的流程控制语句

  • break语句,用于跳出循环
    <?php
        for($i=0;$i<=5;$i++){
            if ($i==3)          #当i等于3的时候跳出循环
                break;
            echo $i;
            echo "<br>";
        }
    ?>

image-20201026151321415

  • continue语句,只能在循环内部使用,功能是跳出该次循环,但是不跳过整个循环
    <?php
        for($i=0;$i<=5;$i++){
            if ($i==3)          #当i等于3的时候跳出循环
                continue;
            echo $i;
            echo "<br>";
        }
    ?>

image-20201026151259506

  • exit语句,直接退出当前运行脚本
    <?php
        for($i=0;$i<=5;$i++){
            if ($i==3)          #当i等于3的时候跳出循环
                exit;
            echo $i;
            echo "<br>";
        }

        echo "是否退出脚本";
    ?>

运行结果:

image-20201026151703439

© 版权声明
THE END
喜欢就支持以下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容