Blogger Information
Blog 40
fans 0
comment 1
visits 39804
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
分支结构与多种循环遍历数组实例演示
Dong.
Original
864 people have browsed it

一 、三大流程控制

任何一门编程语言, 都会有三种流程控制: “顺序”, “分支”, “循环”

  • 顺序: 是最基本的执行流程, 执行顺序与源码的书写顺序一致
  • 分支: 是程序具有人工智能最重要的工具, 可根据预置条件判断代码片断是否需要执行
  • 循环: 是计算机最擅长的领域, 计算机从开机到关机循环无处不在,整个程序就是一个循环

二 、流程控制之分支判断

1.单分支流程控制( if
  • 分支控制,就是代码中多了判断,根据真假控制执行语句;

代码示例:

  1. <?php
  2. // 流程控制之分支判断
  3. // 单分支
  4. $count = 10;
  5. // 单价
  6. $price = 50;
  7. // 数量
  8. $total = 0;
  9. // 金额
  10. $discount = 1;
  11. //折扣率
  12. // 大于10件,9折
  13. if ($count >= 10 && $count < 20):
  14. // 大于10件小于20件,9折
  15. $discount = 0.9;
  16. endif;
  17. //总金额=单价*数量*折扣率;
  18. $total = $count * $price * $discount;
  19. echo "购买数量: $count , 总金额: $total, 折扣率: $discount <hr>";

图片示例:

2.双分支流程控制( if - else

代码示例:

  1. <?php
  2. // 流程控制之分支判断
  3. // 双分支
  4. $count = 10;
  5. // 单价
  6. $price = 50;
  7. // 数量
  8. $total = 0;
  9. // 金额
  10. $discount = 1;
  11. //折扣率
  12. // 大于10件,9折
  13. if ($count >= 10 && $count < 20):
  14. // 大于10件小于20件,9折
  15. $discount = 0.8;
  16. else:
  17. $discount = 1;
  18. endif;
  19. $total = $count * $price * $discount;
  20. echo "购买数量: $count , 总金额: $total, 折扣率: $discount <hr>";

图片示例:

3.多分支流程控制( if - elseif - else

代码示例:

  1. <?php
  2. // 流程控制之分支判断
  3. // 多分支
  4. $count = 35;
  5. $price = 1;
  6. $discount = 1;
  7. if ($count >= 10 && $count < 20) {
  8. // 当$count大于或等于10小于20时将打9折
  9. $discount = 0.9;
  10. } elseif ($count >= 20 && $count < 30) {
  11. // 当$count大于或等于20小于30时将打8折
  12. $discount = 0.8;
  13. } elseif ($count >= 30) {
  14. // 当$count大于30时将打7折
  15. $discount = 0.7;
  16. } else {
  17. // 未达到金额要求时,默认不打折
  18. $discount = 1;
  19. }
  20. $total = $count * $price * $discount;
  21. echo "购买数量: $count , 总金额: $total, 折扣率: $discount <hr>";

图片示例:

4.多分支流程控制简化方案(采用switch表达式,switch - case - break

代码示例:

  1. <?php
  2. // 流程控制之分支判断
  3. // 多分支
  4. $count = 35;
  5. $price = 1;
  6. $discount = 1;
  7. switch (true) {
  8. case $count >= 10 && $count < 20:
  9. $discount = 0.9;
  10. break;
  11. case $count >= 20 && $count < 30:
  12. $discount = 0.8;
  13. break;
  14. case $count >= 30:
  15. $discount = 0.7;
  16. break;
  17. default:
  18. $discount = 1;
  19. }
  20. $total = $count * $price * $discount;
  21. echo "购买数量: $count , 总金额: $total, 折扣率: $discount <hr>";

图片示例:

三 、 流程控制之循环

注释:

  • while: 入口判断( 必须将循环变量初始化操作放在while循环外部)
  • do - while: 出口判断
  • for: 计数式
  • foreach: 遍历数组
1.入口判断:while

代码示例:

  1. <?php
  2. // 流程控制之循环
  3. // while() 根据循环条件的判断时机有二种形式,入口判断 和出口判断
  4. // 必须将循环变量初始化操作放在while循环外部
  5. $moblie = ['iphone', 'huawei', 'samsung', 'vivo', 'oppo'];
  6. $i = 0;
  7. $result = '';
  8. while ($i < count($moblie)) {
  9. $result = $moblie[$i];
  10. // 循环体内必须要有循环变量的更新语句, 否则会进入死循环
  11. $i++;
  12. }
  13. echo rtrim($result, ', ') . '<br>';

图片示例:

2.出口判断:do - while

代码示例:

  1. $moblie = ['iphone', 'huawei', 'samsung', 'vivo', 'oppo'];
  2. $i = 0;
  3. $result = '';
  4. do {
  5. $result = $moblie[$i];
  6. // 循环体内必须要有循环变量的更新语句, 否则会进入死循环
  7. $i++;
  8. } while ($i > count($moblie));
  9. // 出口判断, 不论条件是否成立, 至少会执行一遍循环体, 循环条件显然不成立, 但仍会输出第一个元素
  10. echo rtrim($result, ', ') . '<br>';

图片示例:

3.计数型循环:for

代码示例:

  1. <?php
  2. // 流程控制之循环
  3. //语法: for(循环变量初始化; 循环条件; 更新循环条件) {循环语句}
  4. $mobile = ['iphone', 'huawei', 'samsung', 'vivo', 'oppo'];
  5. $result = '';
  6. for ($i = 0; $i < count($mobile); $i++) {
  7. $result =$mobile[$i];
  8. }
  9. //
  10. echo rtrim($result, ', ') . '<br>';

图片示例:

4.使用for ( )循环遍历索引数组
代码示例:

  1. <?php
  2. // 流程控制之循环
  3. $name = ['id'=> 34, 'username'=>'连衣裙', 'price'=> 1122];
  4. // 用for()循环遍历索引数组, 效果与foreach()是一样的
  5. foreach ($name as $key => $value) {
  6. echo "$key => $value <br>";
  7. }

图片示例:

总结

  • 运算符的使用方法:‘太空船运算符’、‘逻辑运算符’、‘或与运算符’以及‘三元运算符’
  • 三元运算和 if 简化版提高了代码的简洁性
  • 模板语法也在一定程度上提高了代码的简介性
  • 循环必须得更新循环语句负责会死循环
  • 可以用for() , while() 循环, 用来遍布数组
Correcting teacher:GuanhuiGuanhui

Correction status:qualified

Teacher's comments:整体写的很好!不过文章的排版要注意一下!
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post