Correcting teacher:Guanhui
Correction status:qualified
Teacher's comments:整体写的很好!不过文章的排版要注意一下!
任何一门编程语言, 都会有三种流程控制: “顺序”, “分支”, “循环”
- 顺序: 是最基本的执行流程, 执行顺序与源码的书写顺序一致
- 分支: 是程序具有人工智能最重要的工具, 可根据预置条件判断代码片断是否需要执行
- 循环: 是计算机最擅长的领域, 计算机从开机到关机循环无处不在,整个程序就是一个循环
if
)代码示例:
<?php
// 流程控制之分支判断
// 单分支
$count = 10;
// 单价
$price = 50;
// 数量
$total = 0;
// 金额
$discount = 1;
//折扣率
// 大于10件,9折
if ($count >= 10 && $count < 20):
// 大于10件小于20件,9折
$discount = 0.9;
endif;
//总金额=单价*数量*折扣率;
$total = $count * $price * $discount;
echo "购买数量: $count , 总金额: $total, 折扣率: $discount <hr>";
图片示例:
if - else
)代码示例:
<?php
// 流程控制之分支判断
// 双分支
$count = 10;
// 单价
$price = 50;
// 数量
$total = 0;
// 金额
$discount = 1;
//折扣率
// 大于10件,9折
if ($count >= 10 && $count < 20):
// 大于10件小于20件,9折
$discount = 0.8;
else:
$discount = 1;
endif;
$total = $count * $price * $discount;
echo "购买数量: $count , 总金额: $total, 折扣率: $discount <hr>";
图片示例:
if - elseif - else
)代码示例:
<?php
// 流程控制之分支判断
// 多分支
$count = 35;
$price = 1;
$discount = 1;
if ($count >= 10 && $count < 20) {
// 当$count大于或等于10小于20时将打9折
$discount = 0.9;
} elseif ($count >= 20 && $count < 30) {
// 当$count大于或等于20小于30时将打8折
$discount = 0.8;
} elseif ($count >= 30) {
// 当$count大于30时将打7折
$discount = 0.7;
} else {
// 未达到金额要求时,默认不打折
$discount = 1;
}
$total = $count * $price * $discount;
echo "购买数量: $count , 总金额: $total, 折扣率: $discount <hr>";
图片示例:
switch - case - break
)代码示例:
<?php
// 流程控制之分支判断
// 多分支
$count = 35;
$price = 1;
$discount = 1;
switch (true) {
case $count >= 10 && $count < 20:
$discount = 0.9;
break;
case $count >= 20 && $count < 30:
$discount = 0.8;
break;
case $count >= 30:
$discount = 0.7;
break;
default:
$discount = 1;
}
$total = $count * $price * $discount;
echo "购买数量: $count , 总金额: $total, 折扣率: $discount <hr>";
图片示例:
注释:
while
: 入口判断( 必须将循环变量初始化操作放在while循环外部)do - while
: 出口判断for
: 计数式foreach
: 遍历数组
while
代码示例:
<?php
// 流程控制之循环
// while() 根据循环条件的判断时机有二种形式,入口判断 和出口判断
// 必须将循环变量初始化操作放在while循环外部
$moblie = ['iphone', 'huawei', 'samsung', 'vivo', 'oppo'];
$i = 0;
$result = '';
while ($i < count($moblie)) {
$result = $moblie[$i];
// 循环体内必须要有循环变量的更新语句, 否则会进入死循环
$i++;
}
echo rtrim($result, ', ') . '<br>';
图片示例:
do - while
代码示例:
$moblie = ['iphone', 'huawei', 'samsung', 'vivo', 'oppo'];
$i = 0;
$result = '';
do {
$result = $moblie[$i];
// 循环体内必须要有循环变量的更新语句, 否则会进入死循环
$i++;
} while ($i > count($moblie));
// 出口判断, 不论条件是否成立, 至少会执行一遍循环体, 循环条件显然不成立, 但仍会输出第一个元素
echo rtrim($result, ', ') . '<br>';
图片示例:
for
代码示例:
<?php
// 流程控制之循环
//语法: for(循环变量初始化; 循环条件; 更新循环条件) {循环语句}
$mobile = ['iphone', 'huawei', 'samsung', 'vivo', 'oppo'];
$result = '';
for ($i = 0; $i < count($mobile); $i++) {
$result =$mobile[$i];
}
//
echo rtrim($result, ', ') . '<br>';
图片示例:
4.使用for ( )循环遍历索引数组
代码示例:
<?php
// 流程控制之循环
$name = ['id'=> 34, 'username'=>'连衣裙', 'price'=> 1122];
// 用for()循环遍历索引数组, 效果与foreach()是一样的
foreach ($name as $key => $value) {
echo "$key => $value <br>";
}
图片示例: