php三大流程控制

2017-03-21  本文已影响48人  zhanglizzy

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

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

$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
上一篇下一篇

猜你喜欢

热点阅读