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 " ";
}
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 " ";
}
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 " ";
}
}
}
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