学习要点

  • 选择结构
  • 循环结构

学习目标

  • 掌握PHP的选择结构
  • 掌握PHP的循环结构

流程控制概述

程序

程序:一系列计算机指令的集合。

编程语言:开发程序的工具。

程序执行结构

计算机程序有三种基本执行结构:顺序执行结构、分支执行结构、循环执行结构

   

分支结构

分支结构,也称为选择结构,条件结构。

单一条件分支结构(if)

if(表达式){//PHP代码;}

  

当表达式成立的时候执行PHP代码。否则,不执行大括号中的PHP代码。

表达式通常由比较运算符或者逻辑运算符组成,或者是一些返回布尔类型的函数。

问题1:如何交换两个数?编码实现。

问题2:复杂条件的构建——张三php成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者php成绩等于100分,音乐成绩大于70分,老师也可以奖励他。编码实现。

双向条件分支结构(else子句)

if(表达式){//PHP代码1;}else{//PHP代码2;}

当表达式成立的时候执行PHP代码1。否则,执行PHP代码2。

注意:else不能单独使用,必须和if配对使用。

示例:比较两个数的大小

<?php$a=10;$b=20;if($a>$b){echo "变量\$a大于变量\$b";}else{echo "变量\$a小于变量\$b";}?>

  

上机练习1 买彩票问题

买彩票

如果体彩中了500万,我买车、资助希望工程、去欧洲旅游

如果没中,我买下一期体彩,继续烧高香

多向条件分支结构(elseif子句)

If(表达式1){//php语句块1}elseif(表达式2){//php语句块2} elseif(表达式3){//php语句块3}else{//php语句块4}

  

上机练习2  买车的问题

我想买车,买什么车决定于我在银行有多少存款

如果我的存款超过500万,我就买凯迪拉克

否则,如果我的存款超过100万,我就买帕萨特

否则, 如果我的存款超过50万,我就买依兰特

否则, 如果我的存款超过10万,我就买奥托

否则, 如果我的存款10万以下 ,我买捷安特

嵌套条件分支结构

示例:嵌套条件分支结构

问题:

学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组

分析:

判断是否能够进入决赛

在确定进入决赛的情况下,判断是进入男子组,还是进入女子组

多向条件分支结构(switch语句)

问题:小明参加计算机编程大赛

如果获得第一名,将参加麻省理工大学组织的1个月夏令营

如果获得第二名,将奖励惠普笔记本电脑一部

如果获得第三名,将奖励移动硬盘一个

否则,不给任何奖励

解决方法:

  • 使用多重if选择结构实现(缺点:结构复杂,啰嗦)
       $mingCi = 3;    //名次if ($mingCi == 1) {echo  ("参加麻省理工大学计算机学院组织1个月夏令营");} elseif ($mingCi == 2) {echo  ("奖励hp笔记本一部");} elseif ($mingCi == 3) {echo  ("奖励移动硬盘一部");} else {echo  ("没有任何奖励");}

 

  • 使用switch选择结构解决(特点:条件为等值判断)
  $mingCi = 1;  //名次switch ($mingCi){case 1:echo ("参观麻省理工大学计算机学院组织1个月夏令营");break;case 2:echo ("奖励hp笔记本一部");break;case 3:echo ("奖励移动硬盘一部");break;default:echo ("没有任何奖励");}

  

循环结构

PHP提供了两种类型的循环语句:

  • 一种是计数循环语句,通常使用for循环语句完成。
  • 另一种是条件循环语句,通常使用while或do-while循环语句完成。

循环的特点:

while语句

     

特点:先判断,再执行

示例 打印50份试卷

  • 分析问题

    分析是否包含重复操作

  • 解决问题

    使用while循环的步骤

    

  • 画出流程图

    

  • 写出实现代码

上机练习3  计算学员人数

2017年培养学员6800人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到10万人?

提示:
1、循环条件和循环操作分别是什么?

2、2018年培训学员数量 = 6800 * (1 + 0.25 )

3、$year = 2017;

$students = 6800;

while …

do……while循环

如何用程序讲述下面的故事?

经过几天的学习,老师给艾边城一道测试题,

让他先上机编写程序完成,

然后老师检查是否合格。如果不合格,则继续编写。……

特点:先执行,再判断

上机练习4 温度转换

使用do-while实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。

转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32

提示:
1、循环操作:计算华氏温度,并输出对照条目

2、循环条件:条目<=10 && 摄氏温度 <= 250

for语句

  • 问题:输出100次“好好学习!”

  • for循环的执行顺序

演示示例:输出加法表

0 + 6 = 6
1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6
6 + 0 = 6

使用for循环:

1、循环初始化:$i = 0;$j = 设定值

2、循环条件:$i<=设定值

3、循环操作:计算$i+$j

4、循环变量的改变:$i++,$j—

代码:

$val=6;for($i = 0, $j = $val; $i <= $val; $i ++, $j --) {echo $i." + ".$j." = ".($i+$j)."<br>";}

  

上机练习5 输出九九乘法表

上机练习6 输出等腰三角形

上机练习7 输出菱形

break语句

  • 问题:

    1~10之间的整数相加,得到累加值大于20的当前数

  • 分析:

    1、使用循环进行累加,从1到10

    2、判断累加值是否大于20

    3、如果大于20,则跳出循环,并打印当前值

continue语句

continue :只能用在循环里

continue 作用:跳过循环体中剩余的语句而执行下一次循环

  • 问题:

    求整数1-100的累加值,但要求跳过所有个位数为3的数。

  • 分析:

1、使用循环进行累加,从1到100

2、判断个位数是3的数

3、跳过本次循环

exit语句

直接退出当前脚本

exit;exit();die();//exit()的别名exit("exit");die("退出脚本1");exit("退出脚本2");

  

goto语句

跳转语句,一般用在多重循环跳出,出错时候清除资源等。

示例:程序跳转

goto a;exit;exit("exit");die("退出脚本1");a:exit("退出脚本2");

  

示例:goto循环

$i = 1;st://目标位置:目标名+“:”echo "第{$i}次循环<br>";if ($i ++ == 10)goto end;goto st;end: //目标位置:目标名+“:”echo "语句结束。";

  

转载于:https://www.cnblogs.com/rask/p/9011790.html

PHP06 流程控制相关推荐

  1. [JavaScript] JavaScript 运算符与流程控制

    本文主要介绍switch,do-while,for-in,for-of的使用方法. 有关if-else,for,while等简单流程控制,和别的语言相似且常见,我没有自己写,本文将展示教程配套课件中的 ...

  2. Python学习笔记3 流程控制、迭代器、生成器

    第3章 流程控制.迭代器.生成器 3.1 选择语句 1.语法:(1)if -else (2)if-elif-else 2.注意:(1)每个条件后面要使用冒号:(2)使用缩进划分语句块(3)python ...

  3. python如何控制程序的运行顺序_Python流程控制-1 顺序执行

    流程控制指的是代码运行逻辑.分支走向.循环控制,是真正体现我们程序执行顺序的操作.流程控制一般分为顺序执行.条件判断和循环控制. 顺序执行 Python代码在执行过程中,遵循下面的基本原则: 普通语句 ...

  4. Python黑帽编程2.4 流程控制

    Python黑帽编程2.4  流程控制 本节要介绍的是Python编程中和流程控制有关的关键字和相关内容. 2.4.1 if -..else 先上一段代码: #!/usr/bin/python # - ...

  5. Java程序流程控制(顺序结构、分支结构、循环结构、if-else、switch-case、for、while、do-while、break、continue、return)

    流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块. 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:         顺序结构         ...

  6. mysql 控制函数库_数据库开发——MySQL——函数与流程控制

    一.函数 1.介绍 1.1.数学函数 ROUND(x,y) 返回参数x的四舍五入的有y位小数的值 RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定 ...

  7. python怎么控制while循环_Python流程控制之while循环怎么学呢?老男孩Python

    学习Python流程控制if条件语句之后,利用if ... else来猜年龄,但是只能猜一次就中的机率太小了,如果想给玩家3或者几次机会怎么办呢?总不能把代码复制3次吧,以后要修改功能还得修改3次.那 ...

  8. JavaScript异步流程控制的前世今生

    js的流程控制老大难问题就是异步回调. 一个流程过程,往往会出现回调地狱,这个回调异步控制就被提上研究得议程. 目前有实现的回调流程有以下几种 回调函数实现 事件监听 发布订阅 Promise/A+ ...

  9. 05JavaScript中的流程控制

    技术交流QQ群:1027579432,欢迎你的加入! 1.流程控制 在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的.很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能. ...

最新文章

  1. C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)
  2. R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况
  3. win10共享打印机怎么设置_小编为你叙述 win10系统网络共享理光打印机的设置方法的技巧介绍 -win10使用教程...
  4. windows mongdb 安装
  5. mybatisplus代码生成器3.5.2
  6. YAML 学习笔记 .yml
  7. UI 设计常用尺寸规格
  8. 安卓电子书格式_这几种电子书格式的关系与区别,资深Kindler有必要了解了解 !...
  9. 中国护照可以免签的10个旅游天堂国家(地区)
  10. git push/pull命令
  11. win7系统开启snmp服务器配置,Win7系统怎么开启snmp服务【图文】
  12. ios swift收起键盘
  13. 如何检测摄像头是否被占用
  14. 计算机二级office模拟操作试题,计算机二级Office模拟试题及答案
  15. Java更改 PDF 页面大小
  16. C语言对于变量如何取整,C语言如何进行取整
  17. 过滤器监听器详解-任亮-专题视频课程
  18. Drupal7 相关资料
  19. du 查看使用 linux命令,Linux命令(17)du 查看文件和目录磁盘使用情况
  20. 定了——2024年底,青岛将建设七条139公里地铁线路

热门文章

  1. ARM学习篇 中断定时理解
  2. Saruman's Army (POJ 3069)
  3. 剑指offer——替换字符串
  4. 巴洛克式和哥特式的区别
  5. Mac安装oh-my-zsh更改终端背景
  6. HTML、CSS、JS对unicode编码字符的规则
  7. 【零基础学Java】—初识Java(一)
  8. 解决移动端报错:Unable to preventDefault inside passive event listener due to target being treated as……
  9. 句句真研—每日长难句打卡Day1
  10. CSS3新增属性之圆角、盒阴影、字阴影