版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.1条件控制语句
3.1.1 if语句if语句是单分支的条件控制语句,仅当指定的条件成立时,才执行给定的代码。PHP中if语句的语法格式为:如果表达式的值为真,只需要执行一条代码,那么if后面的一对“{}”可以省略。格式如下:下一页返回3.1条件控制语句
使用if语句的程序流程图如图3-1所示。【例3-1】使用rand函数随机生成一个1~20的整数$n,判断这个随机数是不是奇数,如果是,则输出结果。程序代码如下所示:运行结果如图3-2所示。上一页下一页返回3.1条件控制语句
3.1.2 if…else语句在大多数情况下,总是需要在条件成立时执行一段代码,条件不成立时执行另一段代码。这种情况可以使用if…else语句,其语法格式如下所示:使用if…else语句的程序流程图如图3-3所示。上一页下一页返回3.1条件控制语句
【例3-2】获取系统当前时间,如果在中午12点以前,则输出上午好,否则输出下午好。程序代码如下所示:运行结果如图3-4所示。上一页下一页返回3.1条件控制语句
3.1.3 elseif语句if…else语句只适用于两种条件的情况,如果在若干条件之一成立时,执行一个代码段,则需要使用if…elseif…else语句。其语法格式如下所示:上一页下一页返回3.1条件控制语句
上一页下一页返回3.1条件控制语句
使用if…elseif…else语句的程序流程图如图3-5所示。【例3-3】获取系统当前时间,如果在8点前,输出早上好;如果在8点和11点之间,输出上午好;如果在11点和13点之间,输出中午好;如果在13点和18点之间,输出下午好,18点以后,都是晚上好。程序代码如下所示:上一页下一页返回3.1条件控制语句
运行结果如图3-6所示。上一页下一页返回3.1条件控制语句
3.1.4 switch语句当判断条件比较多的时候,使用if…elseif…else语句编写程序代码量会很大,在PHP中使用switch语句也可以解决根据多个不同的条件执行不同代码段的问题。switch语句的语法格式如下:上一页下一页返回3.1条件控制语句
执行switch语句首先计算表达式c的值,将结果依次与表达式n的值比较,如果相等,则执行该常量值后面的代码段,直到遇到break语句为止。如果不相等,则继续与下一个表达式值比较,依此类推。如果表达式c的值与所有的表达式n的值都不相等,则执行default语句后面的代码段。值得注意的是,如果表达式c的值与某个表达式值相等,而这个表达式的值后面的代码段后没有break语句,那么程序将不再与下一个表达式值比较,直接贯穿到下一个表达式值后的代码段执行,直到遇到break语句为止。switch语句的程序流程图如图3-7所示。上一页下一页返回3.1条件控制语句
【例3-4】将百分制的成绩转换成等级制形式输出。程序代码如下所示:上一页下一页返回3.1条件控制语句
运行结果如图3-8所示。上一页返回3.2 循环语句在3.1节中学习了条件控制语句,可以根据条件的不同执行不同的代码段,但这只能解决部分我们所遇到的问题。有时候,我们希望重复执行某段代码或函数,这就需要使用循环语句。在PHP中提供了以下循环语句。①while语句,只要给定的条件成立,则重复执行循环体内的代码段。②do…while语句,先执行循环体内的代码段,再判断条件。如果条件成立,则重复执行循环体内的代码段。③for语句,可以重复执行指定次数的代码段。④foreach语句,可以循环遍历数组元素。数组的内容在本书的第4章介绍,因此foreach循环在此不做介绍。下一页返回3.2 循环语句3.2.1 while循环语句while循环语句是PHP中比较常用的循环语句,其语法格式如下:while循环语句的执行步骤如下:①判断表达式的值,如果表达式的值为真,则跳到第②步;如果表达式的值为假,则跳到第④步。②执行重复执行的代码。③重复第①步的操作。④跳出循环,程序继续向下运行。上一页下一页返回3.2 循环语句通过while循环语句的执行步骤可以看出,如果第一次判断表达式的值为假,则直接跳出循环,也就是说,while循环有可能一次都没执行循环体内的代码段。while循环的程序流程图如图3-9所示。【例3-5】统计100以内所有偶数的和。程序代码如下所示:运行结果如图3-10所示。上一页下一页返回3.2 循环语句3.2.2 do…while循环语句do…while循环语句的语法格式如下:do…while循环语句的执行步骤如下:①执行重复执行的代码。②判断表达式的值,如果表达式的值为真,则跳到第①步;如果表达式的值为假,则跳到第③步。③跳出循环,程序继续向下运行。上一页下一页返回3.2 循环语句do…while循环的程序流程图如图3-11所示。可以看出,即使第一次判断表达式的值为假,也会先执行一次循环体内的代码段,也就是说,do…while循环的循环体至少执行一次。【例3-6】输出100(含100)以内所有能被7整除的数。程序代码如下所示:运行结果如图3-12所示。上一页下一页返回3.2 循环语句3.2.3 for循环语句for循环是PHP中应用较广的循环,可以灵活地控制循环体的执行次数,当指定的条件为真时,循环执行代码块。语法格式如下:for循环语句的执行步骤如下:①首先执行表达式1。②判断表达式2的值,如果表达式的值为真,则跳到第③步;如果表达式的值为假,则跳到第⑤步。上一页下一页返回3.2 循环语句③执行重复执行的代码段,即循环体。④执行表达式3。⑤跳出循环,程序继续向下运行。for循环的程序流程图如图3-13所示。可以看出,表达式1在整个循环的过程中只执行一次,因此,表达式1一般为循环变量赋初值的语句;表达式2的结果决定是否继续循环;表达式3的执行次数与循环体一致,一般为使循环趋向于结束的语句。其中表达式1和表达式3可以省略,也可以为多个表达式,如果是多个表达式,表达式间需要使用逗号分隔。需要注意的是,三个表达式之间的分隔符“;”是不允许省略的。上一页下一页返回3.2 循环语句【例3-7】rand(0,100)函数可以生成0~100的随机整数,编写程序统计经过多少次后能够生成50。注意,这个结果不是固定的。程序代码如下所示:运行结果如图3-14所示。上一页返回3.3 跳转语句在PHP中使用循环语句的时候,可能会遇到在循环体内根据不同的情况而跳转到不同的地方执行,这时需要使用PHP中的跳转语句。3.3.1 continue语句continue关键字用在循环语句中,用来结束本次循环,继续进行下一次循环。使用方法见例3-8。下一页返回3.3 跳转语句【例3-8】使用continue语句编写程序,输出100以内能被3整除的数。上一页下一页返回3.3 跳转语句其中sprintf("%02d",$i)语句用来格式化变量i,将其转化为字符串,如果i的位数不够两位,则在前面补0。例3-8的运行结果如图3-15所示。此外,continue语句在多重循环中使用可以指定结束几重循环,见例3-9。上一页下一页返回3.3 跳转语句【例3-9】使用continue结束两重循环,继续执行两重循环的下一次循环。运行结果如图3-16所示。上一页下一页返回3.3 跳转语句3.3.2 break语句break关键字也可以用在循环语句中,其功能是提前结束循环,不再执行判断条件。【例3-10】输出100以内的所有素数。运行结果如图3-17所示。上一页下一页返回3.3 跳转语句此外,break语句在多重循环中使用可以指定跳出几重循环,见例3-11。【例3-11】使用break跳出两重循环。上一页下一页返回3.3 跳转语句‘运行结果如图3-18所示。上一页下一页返回3.3 跳转语句3.3.3 终止PHP程序运行die()和exit()都是中止脚本执行函数。exit()函数一般用在提前终止脚本执行的地方,而die()一般用来显示一个友好的错误信息,然后终止脚本的执行。exit()函数的用法见例3-12。上一页下一页返回3.3 跳转语句【例3-12】使用exit()函数终止PHP程序运行。上一页下一页返回3.3 跳转语句运行结果如图3-19所示。die()函数的用法见例3-13。上一页下一页返回3.3 跳转语句【例3-13】使用die()函数终止PHP程序运行。运行结果如图3-20所示。上一页返回3.4 循环结构应用【例3-14】百钱买百鸡是非常经典的数学问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,现要用100文钱买一百只鸡。编写程序输出符合条件的几种答案。运行结果如图3-21所示。下一页返回3.4 循环结构应用【例3-15】水仙花数(Narcissisticnumber)是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身(例如,1^3+5^3+3^3=153)。请编写程序求出3位数的所有水仙花数。运行结果如图3-22所示。上一页下一页返回3.4 循环结构应用【例3-16】完全数(Perfectnumber),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。如6=1+2+3,即6就是一个完全数。请编写程序,输出100以内的所有完全数。上一页下一页返回3.4 循环结构应用运行结果如图3-23所示。上一页返回3.5 综合案例【例3-17】猜数字是一个非常有趣的益智类小游戏。游戏规则是电脑随机生成一个1~100的整数,玩家输入一个1~100的整数,如果玩家输入的数小于随机数,则提示输入的数小了,玩家重新输入;如果玩家输入的数大于随机数,则提示输入的数大了,玩家重新输入;如果玩家输入的等于随机数,则提示猜对了,游戏结束。请编写一个猜数字游戏的小程序。下一页返回3.5 综合案例运行结果如图3-24所示。上一页返回图3-1if语句的程序流程图返回图3-2if语句执行结果返回图3-3if…else语句程序流程图返回图3-4if…else语句执行结果返回图3-5if…elseif…else语句程序流程图返回图3-6elseif语句执行结果返回图3-7switch语句程序流程图返回图3-8switch语句执行结果返回图3-9while语句程序流程图返回图3-10while语句执行结果返回图3-11do…while语句程序流程图返回图3-12do…while语句执行结果返回图3-13for语句程序流程图返回图3-14for语句执行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辩论赛改善医患关系辩题
- 安全生产职责心得体会讲解
- 冷链安全监管工作总结模板
- 质检技术部门介绍
- 消化内科质控护士年终总结
- 产科主任质控年终总结
- 急诊科主任质控年终总结
- 耳鼻喉科质控医生年终总结
- 安全生产设计黄金法则讲解
- 护理中的伦理困境与应对策略
- 6.1.3化学反应速率与反应限度(第3课时 化学反应的限度) 课件 高中化学新苏教版必修第二册(2022-2023学年)
- 北京市西城区第8中学2026届生物高二上期末学业质量监测模拟试题含解析
- 2026年辽宁轻工职业学院单招综合素质考试参考题库带答案解析
- 2026届北京市清华大学附中数学高二上期末调研模拟试题含解析
- 2026年马年德育实践作业(图文版)
- 医院实习生安全培训课课件
- 四川省成都市武侯区西川中学2024-2025学年八上期末数学试卷(解析版)
- 2026年《必背60题》抖音本地生活BD经理高频面试题包含详细解答
- 土方回填工程质量控制施工方案
- 2025年湖南城建职业技术学院单招职业适应性测试题库附答案
- 2026贵州大数据产业集团有限公司第一次社会招聘考试题库新版
评论
0/150
提交评论