PHP程序控制流程.ppt_第1页
PHP程序控制流程.ppt_第2页
PHP程序控制流程.ppt_第3页
PHP程序控制流程.ppt_第4页
PHP程序控制流程.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文库专用,1,PHP中的控制流程,文库专用,2,课前回顾 1.掌握PHP基本语法 2.掌握PHP变量、常量、数组与数据类型 3.掌握HTML中PHP的输出,文库专用,3,课程目标 一、掌握php流程控制 二、理解并掌握php函数,文库专用,4,PHP程序控制语句,控制语句如下: 一、条件语句 (1)if 语句 (2)switch语句(多分支) (3)三元操作符 二、循环语句 (1)for循环 (2)while循环 (3)dowhile循环,文库专用,5,一、条件语句,if (表达式一) /满足条件执行以下程序段 . . . ,(1)if 语句语法:,文库专用,6,实例1-1 $b) /判断a是

2、否大于b print “a大于b”; ?,文库专用,7,if (表达式一) /满足条件执行以下程序段 else /不满足执行如下程序段 ,(2)if 语句语法:,文库专用,8,实例1-2 $b) /判断a是否大于b print “a大于b”; else /反之a小于b print “a小于b”; ?,文库专用,9,作业: 交换a、b两个变量,文库专用,10,if (表达式一) /满足条件执行以下程序段 elseif (表达式二) else ,(3)if 语句语法:,文库专用,11,实例1-3 $b) print “a大于b”; elseif ($a=$b) print “a等于b”; else

3、 print “a小于b”; ?,文库专用,12,If语句的应用,=60 else echo 你简直太棒了! ?,显示结果:你简直太棒了!,文库专用,13,条件控制语句,if (expr) statements; if (expr) statements1 else statements2 if (expr1) statements1 elseif (expr2) statement2 else statements3 if (expr) : statements; else : statements; endif,单一执行语句形式的if控制语句 if ($a$b) print a is bi

4、gger then b.,多执行语句形式的if控制语句 if ($a$b) $t = $a; $a = $b; $b = $t; print a if bigger then b. ,嵌套的if语句 if ($a$b) print $a; print $b; print “a is bigger then b.” elseif ($a=$b) print “a is equal b.” else print “a is smaller then b.” ,PHP的if控制语句与HTML语句交互的语法 PHP使用了一种特殊的方法将HTML语言嵌套在if语句中。方法是在if表达式之后跟随一个冒号:

5、,然后嵌入HTML语句,最后用endif结尾 A = 15 now. ,对PHP条件控制语句和循环控制语句中的逻辑表达式而言,具体的值无关紧要,只要确定其值为True或False,所以,PHP对于这些表达式的结果只要非零的数值都是True,零是False,0/0/空串为False,其他(包括负数)为True;对数组和对象,无任何元素的为False,否则为True。,文库专用,14,switch ($i) case 0: print i equals 0; break;case 1: print i equals 1; break; case 2: print i equals 2; break

6、; default: break, continue Break 中断当前的循环控制结构。 Continue 被用来跳出剩下的当前循环并继续执行下一次循环。,(2)switch语句,文库专用,15,Switch语句的应用,文库专用,16,Switch语句,Switch是多路分支语句,虽然可以通过多重嵌套的if语句来实现多路分支,但嵌套越深,程序的可读性越差 Switch语句的语法 switch (var) case val1: statements1; case val2: statwments2; case valN: statementsN; default: statements; ,几

7、点说明: 1) case语句的个数并没有规定,可以无限制增加; 2) 最后的default是表示在前面所有可能的取值都不满足时的处理方式,但不是必须的,可以没有 3) switch语句是依序逐条执行的,直到switch体的结束,或者遇到了break语句,switch语句才停止执行。所以,如果在一个分支语句的后面没有写上break语句,则程序将继续执行下一个分支语句的内容。,文库专用,17,()三元操作符,PHP脚本语言支持操作符?:,它是if语句的紧凑版本。我们可以用下面的实例来对该三元操作符进行解释: 我们先使用if-else语句来写这么一条语句: if($a$b) echo “a大于b”;

8、 else echo “a不大于b”; ,文库专用,18,这是一个最基本的if-else结构,通过比较操作符来比较$a和$b两个变量,如果$a大于$b那么就输出“a大于b”,否则输出“a不大于b”。 而我们现在用三元操作符?:来表示看看: echo ($a$b)?“a大于b”:“a不大于b”; 这两句代表这一样的意思,如果$a$b是返回的true,那么?:操作符返回字符串“a大于b”,否则返回字符串“a不大于b”,然后使用echo进行输出。如果习惯于采用这种结构,代码就更容易阅读,当然我们也可以采用if,你可以根据可读性和其他因素决定。,文库专用,19,(1)For循环,二、循环语句,for语

9、句的结构是: for (start;condition;increment) statement(s); 在for语句的开始,start表达式被计算一次。每经过一次循环,condition表达式都被测试一次。如果为true,则循环体被执行;如果为false,则循环结束,表达式increment在循环体运行后被计算。,实例2-1,显示结果:1+2+3+4+5+6+7+8+9+10+,文库专用,20,FOR循环语句,For (expr1; expr2; expr3) statements; 这是php中最复杂的循环形式 expr1:在循环开始前无条件的被求解执行 expr2:每次循环开始时被执行,

10、结果为真则循环继续;结果为假则循环结束 expr3:每次循环结束时被执行 一般情况下,expr1用来确定循环控制变量的初值,expr2用来确定循环控制变量的终值,expr3用来调整循环控制变量的值 任何一个表达式都可以是空的。expr2为空则循环次数不确定 For循环也支持交互的“冒号语法” For (expr1; expr2; expr3) : statements; ; endfor;,使用for循环时,同一个问题可以有多种表示形式,例:要求打印输出数字110。 第一种方法: 第二种方法: 10) break; print $k; ?,第三种方法: 10) break; print $k;

11、 $k+; ? 第四种方法: ,文库专用,21,计算机解古代问题,(百钱百鸡):设公鸡5文一只,母鸡3文一直,小鸡1文3只,求100文钱买100只鸡的方法。,文库专用,22,如果计算出expression的值为true,则statement被执行,并且接着再计算expression的值(如果为true,则循环体被执行,如此继续)。当计算的值为false时循环退出。,(2) While循环,while(expression) statement(s); ,while(expression): statement(s); .; endwhile;,语法结构一:,语法结构二:,文库专用,23,以下例

12、子是计算机的累加和. (语法一),文库专用,24,以下例子是计算的累加和.(语法二),注:大家在写程序代码时注意在while():结束处的”冒号”,在endwhile;”分号”,文库专用,25,(3) Do-while循环,在PHP中同样也支持do-while循环,该循环为以下形式: do statement(s); while(expression) 用do-while循环来确保循环体至少被执行一次:,文库专用,26,循环控制语句,while (expr) statements; while (expr): statements; endwhile; do statements; while

13、 (expr) break continue,当型循环,循环前检测,循环次数0。示例: ,当型循环的交互形式,循环次数0。示例: ,当型循环,循环后检测,循环次数1。示例: ,终止当前循环的执行,并跳出当前循环。当然,break不仅仅适用循环,也可应用在条件分枝上。 示例: ,执行本语句将结束本次循环,跳到循环体的开始处,接着进行下一次的循环判定,也称为“短路循环” 。 ,文库专用,27,foreach语句可用于遍历一个数组中的元素。可以用以下语句循环遍历一个数组,访问每一个键:,(4) foreach循环,foreach($array as $current) /. ,foreach ($a

14、rray as $current): /. endforeach;,语法结构一:,语法结构二:,; ?,实例:,文库专用,28,Require和Include语句,require(文件名) 头文件包含语句,静态包含,始终以指定的文件来替代 include(文件名) 头文件包含语句,动态包含,执行到该语句时才会用指定的文件来替代 根据以上特定,include语句可以出现在循环控制结构中,以便按需包含不同的头文件;require语句不能出现在循环控制语句中,不能实现按需包含的要求 特殊要求 include语句出现在if语句中时,必须封闭在一个语法块中,$files = array(first.inc, second.inc, third.inc); For ($k=0; $kcount($files); $k+) incl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论