第3讲其他操作符与表达式、流程控制.ppt_第1页
第3讲其他操作符与表达式、流程控制.ppt_第2页
第3讲其他操作符与表达式、流程控制.ppt_第3页
第3讲其他操作符与表达式、流程控制.ppt_第4页
第3讲其他操作符与表达式、流程控制.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、第三讲 常量与表达式、流程控制,课前回顾 1.如何定义一个数组,并输出数组元素 2.如何定义一个类,实例化类的对象,并条用该类的方法 3.值赋值和引用赋值的区别 4.全局变量的使用(global,$GLOBALS) 5.掌握PHP运算符,课程目标 一、掌握php常量的用法 二、掌握php流程控制语句 三、理解并掌握php函数,3.1 PHP静态变量,PHP使用STATIC(小写也可以)关键字来定义静态变量 静态变量在函数退出时不会丢失值 Function keep_track() STATIC $count=5; echo $count+,” Keep_track(); Keep_track(

2、); Keep_track();,3.1 PHP常量,常量是指程序运行过程中不能修改的值,php使用define函数来定义常量 例如: define(CONSTANT, Hello world.); 1、常量前面没有美元符号($); 2、常量只能用 define() 函数定义,而不能通过赋值语句; 3、常量可以不用理会变量范围的规则而在任何地方定义和访问; 4、常量一旦定义就不能被重新定义或者取消定义; echo CONSTANT; / outputs Hello world.echo Constant; / outputs Constant and issues a notice.,3.2

3、PHP程序控制语句,与顺序运行不同的,另一种运行将程序流转换到脚本另外的部分。也就是,不按顺序运行下一条语句,而是运行另外的语句,叫做控制流程语句。 控制语句如下: 一、条件语句 (1)if 语句 (2)switch语句(多分支) 二、循环语句 (1)for循环 (2)while循环 (3)dowhile循环 (4) foreach,3.2.1控制语句-条件语句,实例1-1 $b) /判断a是否大于b print “a大于b”; ?,if (表达式一) /满足条件执行以下程序段 . . . ,(1)if 语句语法:,if (表达式一) /满足条件执行以下程序段 else /不满足执行如下程序段

4、 ,实例1-2 $b) /判断a是否大于b print “a大于b”; else /反之a小于b print “a小于b”; ?,(2)if 语句语法:,3.2.1控制语句-条件语句,if (表达式一) /满足条件执行以下程序段 elseif (表达式二) else ,实例1-3 $b) print “a大于b”; elseif ($a=$b) print “a等于b”; else print “a小于b”; ?,(3)if 语句语法:,3.2.1控制语句-条件语句,3.2.1控制语句- If语句的应用,=60 else echo 你简直太棒了! ?,显示结果:你简直太棒了!,switch (

5、$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 被用来跳出剩下的当前循环并继续执行下一次循环。,3.2.2控制语句- switch语句,12,3.2.2.1控制语句- switch语句,例:break语句举例 ,13,3.2.2.2控制语句- switch语句,例:continue语句举例 ,3.2.2控制语句- Switch语句的应用

6、,(1)For循环,3.2.3控制语句-循环语句,for语句的结构是: for (start;condition;increment) statement(s); 在for语句的开始,start表达式被计算一次。每经过一次循环,condition表达式都被测试一次。如果为true,则循环体被执行;如果为false,则循环结束,表达式increment在循环体运行后被计算。,实例2-1,显示结果:1+2+3+4+5+6+7+8+9+10+,如果计算出expression的值为true,则statement被执行,并且接着再计算expression的值(如果为true,则循环体被执行,如此继续)。

7、当计算的值为false时循环退出。,3.2.4控制语句- While循环,while(expression) statement(s); ,while(expression): statement(s); .; endwhile;,语法结构一:,语法结构二:,以下例子是计算机的累加和. (语法一) ,3.2.4控制语句- While循环,以下例子是计算的累加和.(语法二) ,注:大家在写程序代码时注意在while():结束处的”冒号”,在endwhile;”分号”,3.2.4控制语句- While循环,3.2.5控制语句- Do-while循环,在PHP中同样也支持do-while循环,该循环

8、为以下形式: do statement(s); while(expression) 用do-while循环来确保循环体至少被执行一次:,foreach语句可用于遍历一个数组中的元素。可以用以下语句循环遍历一个数组,访问每一个键:,3.2.6控制语句- foreach循环,foreach($array as $current) /. ,foreach ($array as $current): /. endforeach;,语法结构一:,语法结构二:,; ?,实例:,1:include()和include_once() 1include():在其被调用的位置包含一个文件,也可根据条件来执行inc

9、lude语句,但根据条件执行时必须包含在大括号中 2include_once():作用与include相同,不过它会首先验证是否包含了该文件,如果已经包含则不再执行include_once(),否则则必须包含 2:require()和require_once() 1require():很大程度上与include相同,但亦有区别 :任何情况下require()都会把文件包含在脚本中(条件为假时 ) require()出错时脚本会停止执行,但在使用include()时,脚本会继续执行 2require_once():函数确保文件只包含一次,后面再试图包含相同的文件将被忽略,3.2.7文件包含语句-

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

11、)不管他们的源代码是怎样的,所有的函数都用相同的方法求值: $some_value = function_name(parameter,.); 函数要求的参数个数因函数的不同而不同。提供给函数的参数可以是任何有效的表达式,并且必须指定参数在函数中预期的顺序。函数的文档将告诉你函数期望什么样的参数,以及你可以预期返回什么样的值。,下面是一些内置函数的例子: /strlen()是返回字符串长度的内置函数 $length = strlen(“php”)/此时$length为3 /sin()和asin()是数学正弦和反正弦函数 $result = sin(asin(1);/$result是arcsin

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

13、e()和逻辑操作符的短路属性。,3.3.1函数-调用函数,3.3.2函数-定义函数,要定义一个函数,可以使用下面的语法结构: function ,; echo 希望明天下雨; echo 函数还没有被调用呢!; foo(); /开始调用该函数 echo 函数调用成功!; ?,实例:,3.3.3函数-函数中变量的作用域,函数foo()中变量$a和外部变量$a是两个不同的变量,尽管foo()使用了相加赋值操作符,但是外部的$a的值在一页的生命周期中始终是3。而且函数中的$a的值为2。,3.3.4函数-函数参数,通过函数定义进行声明,函数可以有任意数目的参数。 有两种不同的为函数传递参数的方法。第一种

14、也是最普遍的一种就是按值(value)传递,另一种是按引用(reference)传递。,3.3.4.1函数-按值传递参数,大多数情况是按值传递参数,参数可以是任何形式有效的表达式。计算表达式的值,并且将结果赋值给函数中适当的变量。 function doubler($value) $value = $value * 2; $a = 3; doubler($a); echo $a;,3.3.4.2函数-按引用传递参数,按引用传递参数允许你忽略普通的作用域规则,而给出一个直接访问变量的功能。要按引用传递,参数必须是变量;在参数列表中的变量名前家上一个 ,默认情况下,值是复制出的函数。如果一个函数在

15、它名字之前用 function /改变$name1,3.3.5函数-函数的返回值,从函数返回多个值: Function show_personl_info() $user =“John”; $user=“john_”; $user=; return $user; List($name,$email,$tel)=show_personl_info(); Echo $name,$email,$tel;,3.3.6函数-可变函数以及匿名函数,(一)可变函数 因为有可变的变量,所以可以基于变量值调用函数。例如,考虑这种情况,一个变量被用于决定三个函数之中哪一个被调用:,swi

16、tch ($which) case first: first(); break; case second: second(); break; case third: third(); break; ,; function doubler2($value) $value = $value * 2; echo $value,; function doubler3($value) $value = $value * 3; echo $value,; ?,3.3.6函数-可变函数,一些PHP的函数用你提供的函数来完成他们的部分工作。例如,函数usort()使用你创建的函数,并将其作为参数传递给它来确定

17、一个数组中各项的排序顺序。 如前所示,尽管可以为这样的目的定义一个函数,但是这些函数倾向于局部化和临时性,为了反映回调的短暂特性,我们创建和使用一个匿名函数(anonymous function)。 可以用create_function()创建一个匿名函数。这个函数带两个参数,第一个参数描述该匿名函数接受的参数,第二个参数是实际的代码。以下代码将返回为该函数随机产生的名字: $func_name = create_function(args_string,code_string);,下面是一个展示使用usort()的例子:,3.3.6函数-匿名函数,通过usort()(使用匿名函数)按字符串的长度顺序对该数组进行排序。,$lambda = create_function($a,$b,return(strlen($a)-strlen($b);); $array = array(really long string here,boy, this, middling length , larger )

温馨提示

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

评论

0/150

提交评论