




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章PHP流程控制语句3.1选择结构3.2循环结构3.3跳转语句3.4包含语句3.5综合实训案例第3章PHP流程控制语句学习目的与要求熟练掌握选择结构语句if..else/switch熟练掌握循环结构语句while/for熟练掌握包含语句include3.1选择结构选择结构又称为分支结构,就是根据条件进行逻辑判断,以决定当前程序的走向,从而得到不同的结果。3.1.1if语句if语句的语法格式如下:
if(条件表达式){
语句块}
说明:当“语句块”为一条语句时,可省略“{}”。功能:当“条件表达式”的值为TRUE时,执行语句块,否则执行if语句后面的语句。问题?问题?
给你2个数$a=9; $b=8;,用程序告诉我$a是否大于$b?
怎么弄?if语句的流程图如图所示。【实例3-1】if语句示例。
<?php $a=9; $b=8; if($a>$b){ echo"a大于b"; }?>问题?问题?
给你1个数$a=9 用程序告诉它是奇数还是偶数?
怎么弄?3.1.2if…else语句if…else语句是一种二分支选择语句。else的功能就是当条件表达式的值为FALSE时执行其他的语句。if…else语句的语法格式如下:
if(条件表达式){
语句块1}else{
语句块2}
说明:当“语句块1”或“语句块2”为单条语句时,可省略“{}”。功能:当“条件表达式”的值为TRUE时,执行“语句块1”,否则将执行“语句块2”。if…else语句的流程图如图所示。【实例3-2】if…else语句示例。
<?php $a=9; if($a%2==0){ echo"a是偶数"; }else{ echo"a是奇数"; }?>
问题??问题:根据输入的分数判断出等级[90100]分以上-----优秀[8090)分以上-----良好[7080)分-----中等[6070)分-----及格[060)分-----不及格【实例3-3】根据输入的百分制成绩,输出对应的等级制。
<?php $score=80;if($score>=90&&$score<=100){ echo"优秀!";}elseif($score>=80){ echo"良好!";}elseif($score>=70){ echo"中等!";}elseif($score>=60){ echo"及格!";}elseif($score>=0){ echo"不及格!";}
?>
程序运行结果为:良好!增加下面功能?当用户输入大于100或小于0的数时,给出提示:
你输入的分数不在0-100范围,请重新输入
怎么做?3.1.3switch语句if语句只有两个分支可供选择,如果遇到多分支的选择,虽然可以使用嵌套的if语句来处理,但如果分支较多,会造成嵌套的if层数过多,程序过于冗长而且难以修改。switch语句是多分支选择语句,利用它可以直接处理多分支选择。switch语句的语法格式如下:switch(表达式){case值1:语句块1break;case值2:语句块2break;…default:语句块n
}
功能:执行switch语句时,先计算“表达式”的值,然后顺序测试该值与哪一个case子句中的“值”相匹配。一旦找到,则执行该case分支的语句块,直到遇到break语句才跳出当前的switch语句;如果没有找到相匹配的值,则执行default分支的语句块(default为可选部分)。【实例3-4】根据水果的英文单词,输出对应的中文水果名。
<?phpheader("Content-Type:text/html;charset=gb2312");$fruit="banana";switch($fruit){ case"apple": echo"苹果"; break; case"banana": echo"香蕉"; break; case"orange": echo"橘子"; break; case"pear": echo"梨子!"; break; default: "其他水果!";
}?>程序运行结果为:香蕉
【实例3-3】根据输入的百分制成绩,输出对应的等级制。
<?php $score=80;if($score>=90&&$score<=100){ echo"优秀!";}elseif($score>=80){ echo"良好!";}elseif($score>=70){ echo"中等!";}elseif($score>=60){ echo"及格!";}elseif($score>=0){ echo"不及格!";}
?>
改为用switch方式实现??【实例3-3】根据输入的百分制成绩,输出对应的等级制。
【switch方式】<?php$score=80;switch($score){ case$score>=90&&$score<=100: echo"优秀!"; break; case$score>=80: echo"良好!"; break; case$score>=70: echo"中等!"; break; case$score>=60: echo"及格!"; break; case$score>=0: echo"不及格!";}
?>问题???计算1+2+3+…+100的值?3.2循环结构所谓循环,是指对某一个程序段重复执行若干次,被重复执行的程序部分称为循环体。在PHP中,共有三种循环结构语句:while循环语句、do…while循环语句和for循环语句。3.2.1while语句while循环语句的语法格式如下:
while(条件表达式){
语句块}
功能:当“条件表达式”的值为TRUE时,程序将执行循环体内的“语句块”,直到“条件表达式”的值为FALSE的时候才跳出循环,执行while循环后面的语句。问题???计算1+2+3+…+100的值?<?php$i=1;$sum=0;while($i<=100){ $sum=$sum+$i; $i++;}echo"1+2+3+...+100的和为:".$sum;?>
while循环语句的流程图,如图所示。说明:如果条件表达式的值始终为TRUE,则循环体内的“语句块”将一直被执行下去,这就构成了“死循环”。所以在循环体的语句块中,必须要有改变条件表达式的语句,使循环能够正常结束。while循环可以嵌套,但不允许出现交叉。【实例3-5】小明今年12岁,他父亲比他大30岁,问经过多少年后,父亲的年龄是小明年龄的2倍,那时父子的年龄各为多少?
<?php header("Content-Type:text/html;charset=gb2312"); $age=12; while($age*2<>$age+30){ $age=$age+1; } echo"经过".($age-12)."年后,小明父亲的年龄是小明年龄的2倍!</br>"; echo"小明的年龄为:".$age."</br>"; echo"小明父亲的年龄为:".(30+$age);?>3.2.2do…while语句do…while循环语句的语法格式如下:
do{
语句块}while(条件表达式);
功能:程序先执行循环体中的“语句块”,然后再判断“条件表达式”的值,如果值为TRUE,则继续执行循环体中的“语句块”,直到“条件表达式”的值为FALSE时才跳出循环,执行do…while之后的语句。do…while循环语句的流程图如图3-5所示。说明:do…while循环和while循环非常相似,但do…while循环对条件的检测是在执行完循环体后才进行,故do…while循环语句中的“语句块”不管“条件表达式”成立与否,至少要被执行一次。【实例3-6】用do…while循环结构实现实例3-5。
<?phpheader("Content-Type:text/html;charset=gb2312");$age=12;do{ $age=$age+1;}while($age*2<>$age+30);echo"经过".($age-12)."年后,小明父亲的年龄是小明年龄的2倍!</br>";echo"小明的年龄为:".$age."</br>";echo"小明父亲的年龄为:".(30+$age);?>3.2.3for循环语句for循环语句多用于循环次数已知的程序结构,语法格式如下:
for(表达式1;表达式2;表达式3){
语句块}
说明:“表达式1”用于为循环变量赋初值。也允许在for循环之外为循环变量赋初值,此时“表达式1”可省略。“表达式2”为循环条件,若其值为TRUE,则执行循环体中的“语句块”;若其值为FALSE,则跳出for循环。“表达式3”用于改变循环变量的值。3个表达式都是任选项,都可以省略,但分号不能省略。【实例3-7】利用for循环语句计算1+2+3+…+100的值。
<?phpheader("Content-Type:text/html;charset=gb2312");$sum=0;for($i=1;$i<=100;$i++){ $sum=$sum+$i;}echo"1+2+3+…+100的和:".$sum;
?>3.3跳转语句在程序运行中,有时需要在结构中改变程序的执行语句,比如在switch语句中,使用break语句。为了更灵活地控制程序执行,PHP提供了continue和break语句,用来实现程序的跳转执行。3.3.1continue语句------跳出当次循环,进入下一次循环continue语句的作用就是跳过本次循环中剩余的语句而执行下一次循环。continue语句通常与if语句结合在一起,应用在for循环、while循环以及do…while循环等循环语句中。【实例3-8】求1~100的偶数之和。
<?php$sum=0;for($i=1;$i<=100;$i++){ if($i%2<>0){
continue; } $sum=$sum+$i;}echo"1-100的偶数之和为:",$sum;
?>continue语句------跳出当次循环,进入下一次循环
循环体内continue语句
后面余下的语句就不执行了!
猜猜下面的输出结果是什么?<?php$sum=0;for($i=1;$i<=100;$i++){ if($i%2<>0){
break; } $sum=$sum+$i;}echo"1-100的偶数之和为:",$sum;
?>3.3.2break语句------跳出整个循环break语句在switch语句中使用时,可以使程序跳出当前的switch语句;当break语句用于for循环、while循环以及do…while循环语句中时,可以使程序终止于break所在层的循环,即跳出当前循环,转而执行当前循环之后的语句。<?phpheader("Content-Type:text/html;charset=gb2312");$sum=0;for($i=1;$i<=100;$i++){ if($i%2<>0){
break; } $sum=$sum+$i;}echo"1-100的偶数之和为:",$sum;
?>break语句------跳出整个循环
碰到break语句
,就直接退出循环!学校国庆要改变网站的风格怎么做才能把所有页面的风格都改成国庆的喜庆风格呢?3.4包含语句PHP中有4个包含文件的语句,即由函数include()、include_once()、require()和require_once()所构成的语句。include(或require)语句会获取指定文件中存在的所有文本、代码及标记,并复制到使用include语句的文件中。如果在网站的多个页面上引用相同的PHP、HTML或文本,使用包含文件可以避免重复编程,提高编程效率。这样可以为所有页面创建标准页头、页脚或者菜单文件,当页头、页脚或菜单文件需要更新时,只需要更新所包含的文件即可。3.4.1include()语句include的语法格式如下:
include(stringresource)
说明:include()语句将一个资源文件载入当前PHP程序中,其效果和将该文件的内容复制到include()出现的地方一样。若没有找到资源文件resource,include()语句返回FALSE;若找到资源文件resource,且resource没有返回值,则include()返回整数1,否则返回资源文件resource的返回值。【实例3-10】include()语句应用示例。创建PHP程序文件footer.php,程序代码如下:
<?php header("Content-Type:text/html;charset=gb2312"); echo"<p>Copyright2014-".date("Y")."</p>";?>
创建程序文件include.php,在include.php程序中包含footer.php程序文件。程序代码如下:
<html><body><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><h1>欢迎访问我们的首页!</h1><p>一段文本。</p><p>一段文本。</p><?phpinclude("footer.php");?></body></html>3.4.2require()语句require()语句与include()语句在语法格式及功能上基本相同。require()语句通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require()语句引入的文件,使它变成PHP程序的一部分。require()语句与include()语句的区别在于:
对include()来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(即文件内容替换require()语句)。这就意味着如果执行多次代码,则使用require()的效率比较高,如果每次执行代码时是读取不同的文件,则适合使用include()语句。【实例3-11】require()语句应用示例。创建程序菜单文件menu.php,程序代码如下:
<?php header("Content-Type:text/html;charset=gb2312"); echo"<ahref=index.php>首页</a>-<ahref=html_cource.php>HTML教程</a>-<ahref=css_cource.php>CSS教程</a>-<ahref=js_cource.php>JavaScript教程</a>-<ahref=php_cource.php>PHP教程</a>";?>
创建程序文件require.php,在该程序中通过require()语句包含menu.php程序文件。程序代码如下:
<html><body><?php require("menu.php");?><h1>欢迎访问我的首页!</h1><p>一段文字</p><p>一段文字</p></body></html>
程序运行后,在浏览器的地址栏输入,则运行结果如图1所示。3.4.3include_once()语句include_once()语句是对include()语句的延伸,它的作用和include()语句几乎一样。唯一的区别就是include_once()语句会在导入文件前检测该文件是否在该页面的其他地方已被导入。如果有的话,就不会重复导入该文件。【实例3-13】include_once()语句示例。创建header.php程序文件,程序代码如下:
<?php header("Content-Type:text/html;charset=gb2312"); echo"当前日期:",date("Y-m-d");
?>
创建程序文件example_3-13.php,程序代码如下:
<?php include_once("header.php");?>3.4.4require_once()语句require_once()语句是对require()语句的延伸,它的功能和require()语句几乎一样。区别在于require_once()语句会先检查要导入的文件是否已经在本程序的其他地方被导入过,如果有,则不会再次重复调用该文件。如果在同一程序中使用require_once()语句两次调用同一文件,那么第一次调用时会有输出结果,第二次调用则不会有输出结果。【实例3-14】require_once()语句应用示例。
<?php require_once("header.php"); echo"HelloPHP!"; require_once("header.php");?>3.5综合实训案例(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025水库建设施工合同范本
- 2025【合同范本】私营企业劳动合同模板
- 2025专利权许可使用合同范本
- 2025采购咨询服务合同范本
- 2025设备转让协议书买卖合同
- 2025年青海货运丛业资格证考试题目及答案
- 连云港职业技术学院《房屋建筑学实训》2023-2024学年第一学期期末试卷
- 上海电力大学《国际工程合同管理》2023-2024学年第二学期期末试卷
- 辽宁大连甘井子区育文中学2024-2025学年初三下学期二调考试语文试题含解析
- 江西高安中学2025届高三5月综合质量检测试题物理试题含解析
- 中国话剧史(本二·下)第二讲课件
- 义务兵家庭优待金审核登记表
- GA 255-2022警服长袖制式衬衣
- GB/T 5202-2008辐射防护仪器α、β和α/β(β能量大于60keV)污染测量仪与监测仪
- GB/T 39560.4-2021电子电气产品中某些物质的测定第4部分:CV-AAS、CV-AFS、ICP-OES和ICP-MS测定聚合物、金属和电子件中的汞
- GB/T 3452.4-2020液压气动用O形橡胶密封圈第4部分:抗挤压环(挡环)
- 计划生育协会基础知识课件
- 【教材解读】语篇研读-Sailing the oceans
- 抗肿瘤药物过敏反应和过敏性休克
- 排水管道非开挖预防性修复可行性研究报告
- 交通工程基础习习题及参考答案
评论
0/150
提交评论