其他操作符与表达式、流程控制

上传人:tian****1990 文档编号:74743088 上传时间:2019-01-29 格式:PPT 页数:31 大小:294.46KB
返回 下载 相关 举报
其他操作符与表达式、流程控制_第1页
第1页 / 共31页
其他操作符与表达式、流程控制_第2页
第2页 / 共31页
其他操作符与表达式、流程控制_第3页
第3页 / 共31页
其他操作符与表达式、流程控制_第4页
第4页 / 共31页
其他操作符与表达式、流程控制_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《其他操作符与表达式、流程控制》由会员分享,可在线阅读,更多相关《其他操作符与表达式、流程控制(31页珍藏版)》请在金锄头文库上搜索。

1、第三章 其他操作符与表达式、流程控制,课前回顾 1.掌握PHP基本语法 2.掌握PHP变量、常量、数组与数据类型 3.掌握HTML中PHP的输出 4.掌握PHP基本判断流程,课程目标 一、掌握php流程控制 二、理解并掌握php函数,PHP程序控制语句,PHP的程序和Javascript一样,脚本中的语句一般是按照写的顺序来运行的。这种称为顺序运行,是程序流的默认方向。 与顺序运行不同的,另一种运行将程序流转换到脚本另外的部分。也就是,不按顺序运行下一条语句,而是运行另外的语句,叫做控制流程语句。 控制语句如下: 一、条件语句 (1)if 语句 (2)switch语句(多分支) (3)三元操作

2、符 二、循环语句 (1)for循环 (2)while循环 (3)dowhile循环,一、条件语句,实例1-1 $b) /判断a是否大于b print “a大于b”; ?,if (表达式一) /满足条件执行以下程序段 . . . ,(1)if 语句语法:,if (表达式一) /满足条件执行以下程序段 else /不满足执行如下程序段 ,实例1-2 $b) /判断a是否大于b print “a大于b”; else /反之a小于b print “a小于b”; ?,(2)if 语句语法:,if (表达式一) /满足条件执行以下程序段 elseif (表达式二) else ,实例1-3 $b) prin

3、t “a大于b”; elseif ($a=$b) print “a等于b”; else print “a小于b”; ?,(3)if 语句语法:,If语句的应用,=60 else echo “你简直太棒了!“ ?,显示结果:你简直太棒了!,switch ($i) case 0: print “i equals 0“; break; case 1: print “i equals 1“; break; case 2: print “i equals 2“; break; default: break, continue Break 中断当前的循环控制结构。 Continue 被用来跳出剩下的当前循

4、环并继续执行下一次循环。,(2)switch语句,Switch语句的应用,()三元操作符,PHP脚本语言支持操作符?:,它是if语句的紧凑版本。我们可以用下面的实例来对该三元操作符进行解释: 我们先使用if-else语句来写这么一条语句: if($a$b) echo “a大于b”; else echo “a不大于b”; 这是一个最基本的if-else结构,通过比较操作符来比较$a和$b两个变量,如果$a大于$b那么就输出“a大于b”,否则输出“a不大于b”。 而我们现在用三元操作符?:来表示看看: echo ($a$b)?“a大于b”:“a不大于b”; 这两句代表这一样的意思,如果$a$b是返

5、回的true,那么?:操作符返回字符串“a大于b”,否则返回字符串“a不大于b”,然后使用echo进行输出。如果习惯于采用这种结构,代码就更容易阅读,当然我们也可以采用if,你可以根据可读性和其他因素决定。,(1)For循环,二、循环语句,for语句的结构是: for (start;condition;increment) statement(s); 在for语句的开始,start表达式被计算一次。每经过一次循环,condition表达式都被测试一次。如果为true,则循环体被执行;如果为false,则循环结束,表达式increment在循环体运行后被计算。,实例2-1,显示结果:1+2+3+

6、4+5+6+7+8+9+10+,如果计算出expression的值为true,则statement被执行,并且接着再计算expression的值(如果为true,则循环体被执行,如此继续)。当计算的值为false时循环退出。,(2) While循环,while(expression) statement(s); ,while(expression): statement(s); .; endwhile;,语法结构一:,语法结构二:,以下例子是计算机的累加和. (语法一),以下例子是计算的累加和.(语法二),注:大家在写程序代码时注意在while():结束处的”冒号”,在endwhile;”分号

7、”,(3) Do-while循环,在PHP中同样也支持do-while循环,该循环为以下形式: do statement(s); while(expression) 用do-while循环来确保循环体至少被执行一次:,foreach语句可用于遍历一个数组中的元素。可以用以下语句循环遍历一个数组,访问每一个键:,(4) foreach循环,foreach($array as $current) /. ,foreach ($array as $current): /. endforeach;,语法结构一:,语法结构二:,“; ?,实例:,三、函数,函数(function)是一段完成指定任务的已命名

8、代码,函数可以遵照给它的一组值或参数(parameter)完成任务,并且可能返回一个值。函数节省了编译时间,无论调用函数多少次,函数都只需为页面编译一次。函数允许你在一处修改任何错误,而不是在每个执行任务的地方修改,这样就提高了程序的可靠性,并且将完成指定任务的代码一一隔离,也提高了程序的可读性。 本讲介绍函数调用和函数定义的语法,并且讨论如何管理函数中的变量以及想函数中传递值(包括按值传递和按引用传递),也介绍了可变函数和匿名函数。,一、调用函数,PHP程序中的函数(内置或者是自定义)不管他们的源代码是怎样的,所有的函数都用相同的方法求值: $some_value = function_na

9、me(parameter,.); 函数要求的参数个数因函数的不同而不同。提供给函数的参数可以是任何有效的表达式,并且必须指定参数在函数中预期的顺序。函数的文档将告诉你函数期望什么样的参数,以及你可以预期返回什么样的值。,下面是一些内置函数的例子:,/strlen()是返回字符串长度的内置函数 $length = strlen(“php”)/此时$length为3 /sin()和asin()是数学正弦和反正弦函数 $result = sin(asin(1);/$result是arcsin(1)的正弦 /unlink()删除一个文件 $result = unlink(“functions.txt”

10、);/如果不成功则为false,在第一个例子中给函数strlen()一个参数“PHP”,该函数返回给定字符串中的字符数。在这里,返回值3被赋给变量$length。这是最简单和最普通的使用函数的方法。 第二个例子传递asin(1)的结果给函数sin()。因为正弦和反正弦函数互为反函数,所以对任何值的反正弦求正弦值将总是返回和原来相同的值。 在最后一个例子中给函数unlink()一个文件名,以尝试删除该文件,与许多函数一样,操作失败时该函数返回false。这个例子允许使用另一个内置函数die()和逻辑操作符的短路属性。,二、定义函数,要定义一个函数,可以使用下面的语法结构: function ,“

11、; echo “希望明天下雨“; echo “函数还没有被调用呢!“; foo(); /开始调用该函数 echo “函数调用成功!“; ?,实例:,三、函数中变量的作用域,函数foo()中变量$a和外部变量$a是两个不同的变量,尽管foo()使用了相加赋值操作符,但是外部的$a的值在一页的生命周期中始终是3。而且函数中的$a的值为2。,四、函数参数,通过函数定义进行声明,函数可以有任意数目的参数。 有两种不同的为函数传递参数的方法。第一种也是最普遍的一种就是按值(value)传递,另一种是按引用(reference)传递。,(一)按值传递参数,大多数情况是按值传递参数,参数可以是任何形式有效的

12、表达式。计算表达式的值,并且将结果赋值给函数中适当的变量。,(二)按引用传递参数,按引用传递参数允许你忽略普通的作用域规则,而给出一个直接访问变量的功能。要按引用传递,参数必须是变量;在参数列表中的变量名前家上一个&符号来表示在该函数中的某个特定参数将按引用传递。,function doubler(,五、函数的返回值,PHP函数可以使用关键字return只返回一个值:,PHP函数可以使用关键字return只返回一个值: function return_one() return 42; ,默认情况下,值是复制出的函数。如果一个函数在它名字之前用&声明,则返回其返回值的一个引用(别名):,$nam

13、e = array(“fred”,”barney”,”wilma”,”betty”); function /改变$name1,六、可变函数以及匿名函数,(一)可变函数 因为有可变的变量,所以可以基于变量值调用函数。例如,考虑这种情况,一个变量被用于决定三个函数之中哪一个被调用:,switch ($which) case first: first(); break; case second: second(); break; case third: third(); break; ,(二)匿名函数 一些PHP的函数用你提供的函数来完成他们的部分工作。例如,函数usort()使用你创建的函数,并将

14、其作为参数传递给它来确定一个数组中各项的排序顺序。 如前所示,尽管可以为这样的目的定义一个函数,但是这些函数倾向于局部化和临时性,为了反映回调的短暂特性,我们创建和使用一个匿名函数(anonymous function)。 可以用create_function()创建一个匿名函数。这个函数带两个参数,第一个参数描述该匿名函数接受的参数,第二个参数是实际的代码。以下代码将返回为该函数随机产生的名字: $func_name = create_function(args_string,code_string);,下面是一个展示使用usort()的例子:,通过usort()(使用匿名函数)按字符串的长

15、度顺序对该数组进行排序。,$lambda = create_function($a,$b,return(strlen($a)-strlen($b);); $array = array(really long string here,boy, this, middling length , larger ); usort($array,$lambda); print_r($array);,总结,现在我们已经了解了足够多的信息了。 可以继续学习php 提供给我们的WEB技术的 一些特性了。 在下一章节中,我们将学习一些字符串函数的使用方法。,作业,1.请学员用将本章节的实例进行有效的检查。 2. 为什么要将某些功能封装在函数中? 3.说明函数中变量作用域的范围? 4.按值穿传递和按引用传递有什么不同,如何申明它们?,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号