




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三讲常量与表达式、流程控制,课前回顾1.如何定义一个数组,并输出数组元素3.值赋值和引用赋值的区别4.全局变量的使用(global)5.掌握PHP运算符,课程目标一、掌握php常量的用法二、掌握php流程控制语句三、理解并掌握php函数,3.1PHP静态变量,PHP使用STATIC(小写也可以)关键字来定义静态变量静态变量在函数退出时不会丢失值Functionkeep_track()STATIC$count=5;echo$count+,”Keep_track();Keep_track();Keep_track();,3.1PHP常量,常量是指程序运行过程中不能修改的值,php使用define函数来定义常量例如:define(CONSTANT,Helloworld.);1、常量前面没有美元符号($);2、常量只能用define()函数定义,而不能通过赋值语句;3、常量可以不用理会变量范围的规则而在任何地方定义和访问;4、常量一旦定义就不能被重新定义或者取消定义;echoCONSTANT;/outputsHelloworld.echoConstant;/outputsConstantandissuesanotice.,3.2PHP程序控制语句,与顺序运行不同的,另一种运行将程序流转换到脚本另外的部分。也就是,不按顺序运行下一条语句,而是运行另外的语句,叫做控制流程语句。控制语句如下:一、条件语句(1)if语句(2)switch语句(多分支)二、循环语句(1)for循环(2)while循环(3)dowhile循环(4)foreach,3.2.1控制语句-条件语句,实例1-1$b)/判断a是否大于bprint“a大于b”;?,if(表达式一)/满足条件执行以下程序段.,(1)if语句语法:,if(表达式一)/满足条件执行以下程序段else/不满足执行如下程序段,实例1-2$b)/判断a是否大于bprint“a大于b”;else/反之a小于bprint“a小于b”;?,(2)if语句语法:,3.2.1控制语句-条件语句,if(表达式一)/满足条件执行以下程序段elseif(表达式二)else,实例1-3$b)print“a大于b”;elseif($a=$b)print“a等于b”;elseprint“a小于b”;?,(3)if语句语法:,3.2.1控制语句-条件语句,3.2.1控制语句-If语句的应用,=60elseecho你简直太棒了!?,显示结果:你简直太棒了!,switch($i)case0:printiequals0;break;case1:printiequals1;break;case2:printiequals2;break;default:break,continueBreak中断当前的循环控制结构。Continue被用来跳出剩下的当前循环并继续执行下一次循环。,3.2.2控制语句-switch语句,12,3.2.2.1控制语句-switch语句,例:break语句举例,13,3.2.2.2控制语句-switch语句,例:continue语句举例,3.2.2控制语句-Switch语句的应用,(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,则循环体被执行,如此继续)。当计算的值为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循环,该循环为以下形式:dostatement(s);while(expression)用do-while循环来确保循环体至少被执行一次:,foreach语句可用于遍历一个数组中的元素。可以用以下语句循环遍历一个数组,访问每一个键:,3.2.6控制语句-foreach循环,foreach($arrayas$current)/.,foreach($arrayas$current):/.endforeach;,语法结构一:,语法结构二:,;?,实例:,1:include()和include_once()1include():在其被调用的位置包含一个文件,也可根据条件来执行include语句,2include_once():作用与include相同,不过它会首先验证是否包含了该文件,如果已经包含则不再执行include_once(),否则则必须包含2:require()和require_once()1require():很大程度上与include相同,但亦有区别:若包含的文件不存在,include产生一个警告,程序继续运行,而require则报错,程序将终止运行require调用文件文件,程序执行的同时立即调用外部文件,而include只有执行该语句时才会调用外部文件2require_once():函数确保文件只包含一次,后面再试图包含相同的文件将被忽略,3.2.7文件包含语句-include()和require(),3.3函数,函数(function)是一段完成指定任务的已命名代码,函数可以遵照给它的一组值或参数(parameter)完成任务,并且可能返回一个值。函数节省了编译时间,无论调用函数多少次,函数都只需为页面编译一次。函数允许你在一处修改任何错误,而不是在每个执行任务的地方修改,这样就提高了程序的可靠性,并且将完成指定任务的代码一一隔离,也提高了程序的可读性。本讲介绍函数调用函数定义的语法,讨论如何管理函数中的变量向函数中传递值(包括按值传递和按引用传递),可变函数匿名函数。,3.3.1函数-调用函数,PHP程序中的函数(内置或者是自定义)不管他们的源代码是怎样的,所有的函数都用相同的方法求值:$some_value=function_name(parameter,.);函数要求的参数个数因函数的不同而不同。提供给函数的参数可以是任何有效的表达式,并且必须指定参数在函数中预期的顺序。函数的文档将告诉你函数期望什么样的参数,以及你可以预期返回什么样的值。,下面是一些内置函数的例子:/strlen()是返回字符串长度的内置函数$length=strlen(“php”)/此时$length为3/sin()和asin()是数学正弦和反正弦函数$result=sin(asin(1);/$result是arcsin(1)的正弦/unlink()删除一个文件$result=unlink(“functions.txt”);/如果不成功则为false,在第一个例子中给函数strlen()一个参数“PHP”,该函数返回给定字符串中的字符数。在这里,返回值3被赋给变量$length。这是最简单和最普通的使用函数的方法。第二个例子传递asin(1)的结果给函数sin()。因为正弦和反正弦函数互为反函数,所以对任何值的反正弦求正弦值将总是返回和原来相同的值。在最后一个例子中给函数unlink()一个文件名,以尝试删除该文件,与许多函数一样,操作失败时该函数返回false。这个例子允许使用另一个内置函数die()和逻辑操作符的短路属性。,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函数-函数参数,通过函数定义进行声明,函数可以有任意数目的参数。有两种不同的为函数传递参数的方法。第一种也是最普遍的一种就是按值(value)传递,另一种是按引用(reference)传递。,3.3.4.1函数-按值传递参数,大多数情况是按值传递参数,参数可以是任何形式有效的表达式。计算表达式的值,并且将结果赋值给函数中适当的变量。functiondoubler($value)$value=$value*2;$a=3;doubler($a);echo$a;,3.3.4.2函数-按引用传递参数,按引用传递参数允许你忽略普通的作用域规则,而给出一个直接访问变量的功能。要按引用传递,参数必须是变量;在参数列表中的变量名前家上一个,默认情况下,值是复制出的函数。如果一个函数在它名字之前用function/改变$name1,3.3.5函数-函数的返回值,从函数返回多个值:Functionshow_personl_info()$user=“John”;$user=“john_1208”;$user=;return$user;List($name,$email,$tel)=show_personl_info();Echo$name,$email,$tel;,3.3.6函数-可变函数以及匿名函数,(一)可变函数因为有可变的变量,所以可以基于变量值调用函数。例如,考虑这种情况,一个变量被用于决定三个函数之中哪一个被调用:,switch($which)casefirst:first();break;casesecond:second();break;casethird:third();break;,;functiondoubler2($value)$value=$value*2;echo$value,;functiondoubler3($value)$value=$value*3;echo$value,;?,3.3.6函数-可变函数,一些PHP的函数用你提供的函数来完成他们的部分工作。例如,函数usort()使用你创建的函数,并将其作为参数传递给它来确定一个数组中各项的排序顺序。如前所示,尽管可以为这样的目的定义一个函数,但是这些函数倾向于局部化和临时性,为了反映回调的短暂特性,我们创建和使用一个匿名函数(anonymousfunction)。可以用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(reallylongstringhere,boy,this,middlinglength,larger);usort($array,$lambda);print_r($array);,3.3.6函数-匿名函数,递归求和functionshowSum($n)if($n=1)return1;elsereturnshowSum($n-1)+$n;printshowSum(10);,3.3.6函数-递归函数,嵌套函数functionshowValue()functionshowMsg()print“Theprogrammeisveryinteresting”;showMsg();,3.3.6函数-嵌套函数,if(isset($_POSTSubmit),训练-日期验证,elseechoalert(您输入的日期不合法!);elseechoalert(日期不能为空!);,训练-日期验证,$str=array(大,更,创,天,科
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品饮料行业数字化营销与电商运营供应链协同优化报告
- 2025年工业互联网平台数字签名技术实施策略与最佳实践报告
- 文化创意产业2025年研发资金申请项目评审标准解析
- 新能源行业2025绿色物流碳减排量核算与认证技术应用报告
- 共享民宿项目在2025年民宿市场的创新服务模式评估报告
- 新能源物流2025年碳减排量核算与认证技术难点解析报告
- 城市污水处理厂智能化升级改造中的智能监测系统应用研究报告
- 2025-2026学年九年级英语上学期第一次月考 (四川成都专用) 2025-2026学年九年级英语上学期第一次月考 (四川成都专用)原卷
- 2025年无人机物流配送无人机配送无人机行业发展趋势报告
- 2025秋师德师风建设暨教辅资料规范管理专题会议上,校长讲话:守师德底线,规范教辅使用,筑牢育人根基
- 苏教版科学五年级上册全册教案(含反思)
- 餐饮服务与数字化运营 习题及答案 项目六
- 天津地铁设备管理制度范文
- 跨学科整合的小学数学教学设计
- 人教版(2024)七年级下册英语期末复习:完形填空 专题练习题(含答案)
- 《电池管理系统BMS》课件
- DB33 1121-2016 民用建筑电动汽车充电设施配置与设计规范
- DB35∕T 88-2022 伐区调查设计技术规程
- 购物中心楼层调整规划
- 化学前沿研究动态(课件)
- 人教版八年级语文上册《新闻写作》示范公开教学课件
评论
0/150
提交评论