《zff第5章 PHP中的流程控制.pptx》由会员分享,可在线阅读,更多相关《zff第5章 PHP中的流程控制.pptx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第5 5章章 PHPPHP中的流程控制语句中的流程控制语句烟台南山学院软件工程学院烟台南山学院软件工程学院第5章 PHP中的流程控制本章主要内容本章主要内容lPHPPHP中的中的if if判断判断lPHPPHP中的中的switchcaseswitchcase判断判断lPHPPHP中的中的whilewhile循环循环lPHPPHP中的中的forfor循环循环l流程控制综合运用实例流程控制综合运用实例第第5 5章章 PHP PHP中的流程控制中的流程控制ifelse判断判断lifelseifelse判断语句有以下判断语句有以下3 3种形式:种形式:l简单的if判断l除了if之外,加上了else分
2、支l递归的ifelseifelse多重判断,通常用在多种决策判断中第第5 5章章 PHP PHP中的流程控制中的流程控制l简单的简单的if if判断判断l基本格式:if(expr)statement l只对判断结果为真时执行操作l如果statement语句只有一句,可省略大括号$val2)echo“因为val1=”.$val1.“,;echo“而val2=.$val2.;echo“所以val1大于val2.;?100)echo 太贵了,不买!;?第第5 5章章 PHP PHP中的流程控制中的流程控制lifelseifelse判断判断l基本格式:if(expr)statement else st
3、atement l判断结果为真时执行if语句,为假时执行else语句100)echo 太贵了,不买!;else echo 还挺便宜的,就买它吧!;?第第5 5章章 PHP PHP中的流程控制中的流程控制lifelseifelseifelseifelse多重判断多重判断l基本格式:基本格式:if(expr)statement if(expr)statement elseif(expr)statement elseif(expr)statement else statement else statement l递归的递归的ifelseifelseifelseifelse多重判断,通常用在多种决策判
4、断中。多重判断,通常用在多种决策判断中。?php$val2)($val1$val2)echo val1 echo val1大于大于val2.;val2.;elseifelseif($val1=$val2)($val1=$val2)echo val1 echo val1等于等于val2.;val2.;elseelse echo val1 echo val1小于小于val2;val2;?第第5 5章章 PHP PHP中的流程控制中的流程控制switchcase多重判断多重判断lswitchswitch循环循环用于把同一个变量或表达式与很多不同的值用于把同一个变量或表达式与很多不同的值比较,并根据其
5、值来执行不同的代码的情况。格式为:比较,并根据其值来执行不同的代码的情况。格式为:switch(expr)switch(expr)case expr1:statement1;break;case expr1:statement1;break;case expr2:statement2;break;case expr2:statement2;break;default:statement n;break;default:statement n;break;lexprexpr通常是变量名,通常是变量名,casecase后的后的exprNexprN通常为变量的值,通常为变量的值,statementN
6、statementN为符合该值时执行的语句,语句超过一条也为符合该值时执行的语句,语句超过一条也无需加大括号。使用无需加大括号。使用breakbreak跳出过程。跳出过程。第第5 5章章 PHP PHP中的流程控制中的流程控制练习:请将本程序改写成ifelse语句。比较他们的优缺点。第第5 5章章 PHP PHP中的流程控制中的流程控制while循环循环lwhilewhile循环循环用来在指定的条件内,不断地重复步骤。用来在指定的条件内,不断地重复步骤。格式:格式:while(expr)statement while(expr)statement l如果程序只有一行,则可以省略大括号如果程序只
7、有一行,则可以省略大括号“”“”。多行。多行情况也可以不用大括号,单末尾要使用情况也可以不用大括号,单末尾要使用endwhileendwhile结束。结束。?php$i=1;while($i=10)print$i+;print ;print;$i=1;while($i?php$i=1;while($i10)echo 第.$i.次循环;echo;$i+;?第第5 5章章 PHP PHP中的流程控制中的流程控制使用使用break跳出循环跳出循环lbreakbreak负责结束当前负责结束当前forfor、foreachforeach、whilewhile、dowhiledowhile或者或者swit
8、chswitch结构的执行。结构的执行。?php$i=0;while(+$i)switch($i)case 4:print 当前i的值为4.;break;case 8:print 当前i的值为8.;break 2;default:echo 当前i的值不是4和8.;break;?php$i=1;while($i10)echo 第.$i.次循环;echo;$i+;if($i=9)break;?第第5 5章章 PHP PHP中的流程控制中的流程控制使用使用continuecontinue语句语句lcontinue用来跳过本次循环中剩余的代码并开用来跳过本次循环中剩余的代码并开始执行下一次循环。始执行
9、下一次循环。?php$i=0;while($i10)$i+;if($i=5)continue;echo 第.$i.次循环;echo;?php$i=0;while($i+5)echo Outer;while(1)echo Middle;while(1)echo Inner;continue 3;/改为2行吗?1呢?/break 2;呢 echo This never gets output.;echo Neither does this.;?第第5 5章章 PHP PHP中的流程控制中的流程控制dowhiledowhile循环循环ldowhiledow
10、hile循环循环和和whilewhile循环非常相似。区别在于表循环非常相似。区别在于表达式的值是在每次循环结束时检查而不是开始时。达式的值是在每次循环结束时检查而不是开始时。格式为:格式为:do statement while(expr)do statement while(expr)?php$i=1;do print$i+;print ;while($i?php$i=1;do echo 第.$i.次循环;echo;$i+;while($i思考思考:若条件改为$i10,结果如何?并总结dowhile与while循环在给定条件一致的情况下,何时结果相同,何时结果不同。第第5 5章章 PHP P
11、HP中的流程控制中的流程控制forfor循环lforfor循环循环是是PHPPHP中最复杂的循环结构。格式为:中最复杂的循环结构。格式为:for(expr1;expr2;expr3)statement;for(expr1;expr2;expr3)statement;lexpr1expr1在循环开始前无条件在循环开始前无条件执行一次执行一次。lexpr2expr2在在每次循环开始前每次循环开始前求值,如果其值为求值,如果其值为TrueTrue,则继续循环执行则继续循环执行statementstatement语句;如果其值为语句;如果其值为FalseFalse,则终止循环。,则终止循环。lexpr
12、3expr3在每次循环之后被执行。每个表达式都可以在每次循环之后被执行。每个表达式都可以为空。为空。expr2expr2为空意味着将无限循环下去,为空意味着将无限循环下去,PHPPHP认认为其值为为其值为TrueTrue。l注意注意:forfor循环与循环与whilewhile循环的互相转换循环的互相转换第第5 5章章 PHP PHP中的流程控制中的流程控制?php for($i=1;$i=10;$i+)echo$i.;echo;for($i=1;$i+)if($i10)break;echo$i.;echo;$i=1;for(;)if($i10)break;echo$i+.;echo;for(
13、$i=1;$i?php for($i=1;$i10;$i+)echo 第.$i.次循环;?与程序5-5.php进行比较,并将作业3的第2题,用for循环完成。第第5 5章章 PHP PHP中的流程控制中的流程控制foreach循环循环lforeachforeach循环循环主要用于遍历数组和对象。有时会明主要用于遍历数组和对象。有时会明显显forfor语句。语句。lforeachforeach语句的第一种格式语句的第一种格式:lforeachforeach语句的第二种格式:语句的第二种格式:lforeachforeach只能对数组和对象遍历,不能根据条件表只能对数组和对象遍历,不能根据条件表达式
14、来处理循环。达式来处理循环。$arr=array();$arr=array();foreach($foreach($数组名数组名 as$item)as$item)echo$item;echo$item;foreach($foreach($数组名数组名 as$as$变量变量1=1=变量变量2)2)第第5 5章章 PHP PHP中的流程控制中的流程控制80,english=73,math=45);foreach($stu as$subject=$score)echo 您的分数:$subject=$score;?第第5 5章章 PHP PHP中的流程控制中的流程控制流程控制综合运用实例流程控制综合运
15、用实例array(学生用书,学生教材,教辅用书,课外读物,考试题集),1=array(名著,中国古典,世界名著,英文原著),2=array(考试用书,公务员,会计师,医药师),3=array(儿童读物,看图识字,动漫人物),4=array(武侠小说,金庸小说,古龙小说,玄幻小说);echo;for($i=0;$icount($type);$i+)for($j=0;$jcount($type$i);$j+)if($j=0)echo.$type$i$j.;elseif($j=count($type$i)echo;echo$type$i$j;echo;elseif($jcount($type$i)&$j5)echo /在后面添加空表格if($j=4)echo;?第第5 5章章 PHP PHP中的流程控制中的流程控制小结小结l本章的主要内容:本章的主要内容:lif判断lswitchcase多重判断lwhile循环、dowhile循环lfor循环l应掌握应掌握PHPPHP流程控制只是,为编写大型程序奠定流程控制只是,为编写大型程序奠定坚实的基础。坚实的基础。第第5 5章章 PHP PHP中的流程控制中的流程控制