美文网首页
php三大流程控制

php三大流程控制

作者: zhanglizzy | 来源:发表于2017-03-21 20:45 被阅读48次

    一、顺序控制:
    默认情况下从左至右、从上至下的简单顺序执行。不加控制的流程。

    二、分支控制:
    单分支、双分支、多分支;
    单分支语法:

    $age=17;
    if ($age<18) {
        echo "未满十八岁未成年";
    }
    

    双分支语法:

    $age=24;
    if ($age<18) {
        echo "未满十八岁未成年";
    } else {
        echo "您已满十八岁符合标准";
    }
    

    多分支语法:(elseif可以多个 else也可以没有。switch语句也可用来做多分支判断)

    if ($age<18) {
        echo "未满十八岁未成年不符合标准";
    } elseif ($age>60) {
        echo "超过六十岁不符合标准";
    } else {
        echo "花好年华!";
    }
    

    switch也是多分支语句的常用用法,注意点:
    每个case后面必须有break中断switch,default可选根据需求而定,default放置的位置对执行结果无影响,首先是按照case顺序执行,在都匹配不上的时候执行default内容。switch里写条件表达式,case后带常量(小数也行)。

    $day="1";
    switch ($day) {
        case '1':
            echo "今天星期一";
            break;
        case '2':
            echo "今天星期二";
            break;
        case '3':
            echo "今天星期三";
            break;  
    
        default:
            echo "地球还在转但是不知星期几";
            break;
        }
    

    对if和switch使用场景分析:
    if是对某个范围的判断,而switch是对一个点的判断,当分支是几个点的时候(比如判断坦克的方向、性别),就应当使用switch,如果分支是几个区域(范围)的判断,则考虑使用if。switch效率更高。

    三、循环控制:
    for循环、while、do while

    //for循环
    for ($i=0; $i < 18; $i++) { 
        echo "<br/>GoodGoodStudy";
    }
    
    //while
    $i=0;//循环控制变量
    while ($i<10) {
        echo "<br/>你好长沙";
        $i++;//这里对循环控制变量自增
    }
    
    //do while
        $i=0;//循环控制变量
        do {
            echo "<br/>你好长沙";
            $i++;
        } while($i<10);
    

    打印金字塔的一半练习:

    //金字塔的一半
        for ($i=0; $i < 5; $i++) {//外层循环控制层数
            for ($j=0; $j <= $i; $j++) { //内层循环控制每层个数
                echo "*";
            }
            echo "<br/>";
        }
    
    金字塔的一半.png

    打印金字塔练习:

    //金字塔
    for ($i=0; $i <= 5; $i++) { 
        for ($k=0; $k < 5-$i; $k++) {//打*前打空格
            echo "&nbsp";
        }
        for ($j=0; $j<($i-1)*2+1; $j++) {//每行多少*的规律:($i-1)*2-1
            echo "*";
        } 
        echo "<br/>";
    }
    
    金字塔.png

    打印空心金字塔练习:

    //空心金字塔
    $n=5;
    for ($i=1; $i <= $n; $i++) { 
        for ($k=1; $k <= $n-$i; $k++) {//打*前打空格
            echo "&nbsp";
        }
        for ($j=1; $j<=($i-1)*2+1; $j++) {//每行多少*的规律:($i-1)*2-1
            if ($i==1 || $i==$n) {
                echo "*";
            } else {
                if ($j==1 || $j==($i-1)*2+1) {
                    echo "*";
                } else {
                    echo "&nbsp";
                }
            }
        } 
        echo "<br/>";
    }
    
    空心金字塔.png

    计算器练习:
    计算器界面:

    <!DOCTYPE html>
    <html>
    <head>
        <title>我的计算器</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
    </head>
    <body>
    
    <form action="CalResult.php" method="post">
        <table width="300px" border="0">
            <tr>
                <td>第一个数</td>
                <td><input type="text" name="number1"></td> 
            </tr>
            <tr>
                <td>第二个数</td>
                <td><input type="text" name="number2"></td>
            </tr>
    
            <tr>
                <td>运算符</td>
                <td>
                    <select name="oper">
                        <option value="+">+</option>
                        <option value="-">-</option>
                        <option value="*">*</option>
                        <option value="/">/ </option>
                    </select>
                </td>
            </tr>
    
            <tr>
                <td colspan="2"><input type="submit" value="计算结果"></td>
            </tr>
        </table>
    </form>
    </body>
    </html>
    
    计算器计算界面.png

    计算结果:

    <?php
    
        //接收用户从Calculator.php(对应静态页面 浏览器)提交的数据
        //1、接收number1 number2 ;REQUEST方法可以接收用户的post或者get请求数据
        $number1=$_REQUEST['number1'];
        $number2=$_REQUEST['number2'];
        //接收运算符
        $oper=$_REQUEST['oper'];
    
        $res=0;
        switch ($oper) {
            case '+':
                $res=$number1+$number2;
                break;
            case '-':
                $res=$number1-$number2;
                break;
            case '*':
                $res=$number1*$number2;
                break;
            case '/':
                $res=$number1/$number2;
                break;
            default:
                echo "运算符不正确";
                break;
        }
        echo "运算结果是:".$res;
    ?>
    <a href="Calculator.php">返回计算器页面</a>
    
    计算结果.png

    相关文章

      网友评论

          本文标题:php三大流程控制

          本文链接:https://www.haomeiwen.com/subject/wohgnttx.html