首頁  >  文章  >  後端開發  >  透過經典實例帶你學習php三大流程控制

透過經典實例帶你學習php三大流程控制

伊谢尔伦
伊谢尔伦原創
2017-06-22 10:28:501863瀏覽

一、順序控制:
預設情況下由左至右、從上至下的簡單順序執行。不加控制的流程。

二、分支控制:
單一分支、雙分支、多分支;
單一分支語法:

$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 &#39;1&#39;:
        echo "今天星期一";
        break;
    case &#39;2&#39;:
        echo "今天星期二";
        break;
    case &#39;3&#39;:
        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/>";
    }

透過經典實例帶你學習php三大流程控制


列印金字塔練習:

//金字塔
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/>";
}

透過經典實例帶你學習php三大流程控制


列印空心金字塔練習:

//空心金字塔
$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/>";
}

透過經典實例帶你學習php三大流程控制


#計算器練習:
計算器介面:

<!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>

透過經典實例帶你學習php三大流程控制

計算結果:

<?php

    //接收用户从Calculator.php(对应静态页面 浏览器)提交的数据
    //1、接收number1 number2 ;REQUEST方法可以接收用户的post或者get请求数据
    $number1=$_REQUEST[&#39;number1&#39;];
    $number2=$_REQUEST[&#39;number2&#39;];
    //接收运算符
    $oper=$_REQUEST[&#39;oper&#39;];

    $res=0;
    switch ($oper) {
        case &#39;+&#39;:
            $res=$number1+$number2;
            break;
        case &#39;-&#39;:
            $res=$number1-$number2;
            break;
        case &#39;*&#39;:
            $res=$number1*$number2;
            break;
        case &#39;/&#39;:
            $res=$number1/$number2;
            break;
        default:
            echo "运算符不正确";
            break;
    }
    echo "运算结果是:".$res;
?>
<a href="Calculator.php">返回计算器页面</a>

透過經典實例帶你學習php三大流程控制


以上是透過經典實例帶你學習php三大流程控制的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn