版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.1函数
5.1.1 函数的定义函数,就是将一些重复使用的功能写在一个独立的代码块中,在需要时单独调用。创建函数的基本语法格式如下:参数说明:●function:声明自定义函数时必须使用的关键字。●function_name:自定义函数的名称。下一页返回5.1函数
●$parameter1,$parameter2…$parametern:函数的参数。●function_body:自定义函数的主体,是功能的实现部分。当函数被定义后,所要做的就是调用这个函数。调用函数的操作十分简单,只需要引用函数名称并赋予正确的参数即可。【例5-1】定义函数mysquare(),计算传入的参数的平方数,然后连同表达式和结果一起输出。mysquare.php代码如下:程序运行结果如图5-1所示。上一页下一页返回5.1函数
5.1.2 函数的返回值在例5-1中可以看到,函数是有返回值的,本章将讲解函数的返回值。通常,函数将返回值传递给调用者的方式是使用关键字return。return()将函数的值返回给函数的调用者,即将程序控制权返回到调用者的作用域。如果在全局作用域内使用return()关键字,那么将终止脚本的执行。【例5-2】使用return()函数返回一个操作数。先定义函数values,函数的作用是输入商品的单价、质量,然后计算总金额,最后输出商品的价格。return.php代码如下:上一页下一页返回5.1函数
程序运行结果如图5-2所示。return语句只能返回一个参数,也就是说,只能返回一个值,不能一次返回多个。如果要返回多个结果,就要在函数中定义一个数组,将返回值存储在数组中返回。上一页返回5.2 函数的调用PHP函数的单向调用相对简单,这一点从例5-1和例5-2中就可以看出,引用函数名并赋予正确的参数即可完成函数的调用。5.2.1 函数的嵌套调用所谓嵌套调用,就是在函数中定义并调用其他函数。嵌套调用可以将一个复杂的功能分解成多个子函数,再通过调用的方式结合起来,有利于提高函数的可读性。【例5-3】定义一个函数来计算美国简单商品税,并将计算完的商品价格通过该函数内的另一个函数将其价格转换为人民币,输出最后结果。header.php代码如下:下一页返回5.2 函数的调用程序运行结果如图5-3所示。除了自定义函数的嵌套调用,PHP的函数嵌套调用主要在内置函数中进行,在后面的学习中,会逐渐接触更多的嵌套调用内容。上一页下一页返回5.2 函数的调用5.2.2 函数的递归调用递归函数是常用到的一类函数,其最基本的特点是函数自身调用自身,但必须在调用自身前有条件判断,否则无限调用下去。【例5-4】利用递归函数完成$result数组的赋值操作,要求数组的元素个数$a不得超过10,并在递归函数内部输出$a。result.php代码如下:上一页下一页返回5.2 函数的调用程序运行结果如图5-4所示。从本例中可见,递归函数是考虑将引用作为参数,成为一个桥梁,形成两个函数间的数据共享。虽然两个函数间貌似操作的是不同地址,但是实际上操作的是一块内存地址。PHP的函数递归调用方式除了这种方式外,还有利用全局变量完成递归函数和利用静态变量完成递归的函数,在以后的学习中将逐步了解到。上一页下一页返回5.2 函数的调用5.2.3 函数中变量的作用域作用域指的是在函数内部指定的变量的可访问性。换句话说,就是函数外部的PHP脚本不能使用函数内部声明的变量。【例5-5】定义一个函数sum(),用于返回两个数的和,最终将定义在函数内部的两个数的和——c变量在函数外部输出。代码如下:上一页下一页返回5.2 函数的调用上面这个例子的输出结果会是什么呢?答案就是空值,并且在执行的过程中服务器还会提示“Notice:Undefinedvariable”,也就是说,在代码中出现了未定义的变量。显而易见的是,变量c在函数sum中进行了声明,但c的作用域只限于这个函数本身,只能在函数内部使用,对于函数外的脚本,它一直保持其不可访问性。当在函数外部使用变量c的时候,它被当作一个新的变量来看待,就会出现“未定义的变量”。虽然变量的作用域限制了从指定函数之外的访问能力,但是还可以从函数外部访问函数内部定义的变量,从而使脚本更灵活及动态性能更好。PHP允许使用关键词global和static来实现这一点。上一页返回5.3 PHP函数库除了用户自行编写的函数外,PHP自身也提供了很多内置的函数。本节将面向实际开发需求,向读者介绍一些常用的PHP函数库中的函数。5.3.1 PHP变量函数库PHP支持变量函数,那么什么是变量函数呢?下面通过一个实例来介绍变量函数的具体应用。【例5-6】首先定义3个函数,接着声明一个变量,通过变量来访问不同的函数。function.php代码如下:下一页返回5.3 PHP函数库上一页下一页返回5.3 PHP函数库程序运行结果如图5-5所示。可以看出,函数的调用是通过改变变量名来实现的,通过在变量名后面加上一对小括号,PHP将自动寻找与变量名相同的函数,并且执行它。如果找不到对应的函数,系统将会报错。PHP变量函数库中的函数并不是都会经常用到,表5-1列出了一些常用到的PHP变量函数。5.3.2 PHP字符串函数库PHP字符串函数在PHP开发中是一项非常重要的内容,必须掌握其中常用函数的使用方法。表5-2对PHP常用的字符串函数进行了总结。上一页下一页返回5.3 PHP函数库1.explode()函数explode()函数把字符串打散为数组。该函数的语法如下:具体参数见表5-3。【例5-7】应用explode()函数来获取变量中的字符串,其中以“,”进行分隔,data.php代码如下:程序运行结果如图5-6所示。上一页下一页返回5.3 PHP函数库2.md5()函数md5()函数计算字符串的MD5散列。该函数是一个编码的方式,但是不能解码。该函数的语法如下:参数string为被加密的字符串,参数raw为布尔型,TRUE表示加密字符串以二进制格式返回。【例5-8】应用md5()函数对字符串“123456”进行编码。md.php代码如下:程序运行结果如图5-7所示。上一页下一页返回5.3 PHP函数库通常情况下,为了保护用户注册信息的安全,应用md5函数对用户注册的密码进行加密操作。5.3.3 PHP日期时间函数库PHP通过内置的日期时间函数,完成对日期和时间的各种操作。常用的日期和时间函数见表5-4。1.checkdate()函数checkdate()函数验证日期有效性,如果日期是有效的,则返回TRUE,否则返回FALSE。该函数的语法如下:参数的详细说明见表5-5。上一页下一页返回5.3 PHP函数库【例5-9】应用checkdate()函数判断日期是否有效,如果正确,则输出1,否则不输出。check.php代码如下:程序运行结果如图5-8所示。2.mktime()函数gmmktime()函数返回整数的UNIX时间戳,如果错误,则返回FALSE。该函数的语法规则如下:参数的详细说明见表5-6。上一页下一页返回5.3 PHP函数库【例5-10】应用mktime()函数返回一个日期的UNIX时间戳,然后使用它来查找该日期的天,并输出。mk.php代码如下:程序运行结果如图5-9所示。从本例中也看到PHP内置函数的嵌套调用的使用。5.3.4 PHP数学函数库PHP提供了大量的内置数学函数,大大提高了开发人员在数学运算上的精准度。常用的数学函数见表5-7。上一页下一页返回5.3 PHP函数库1.ceil()函数ceil()函数计算大于指定数的最小整数。该函数的语法规则如下:其中,参数x为浮点数。【例5-11】应用ceil()函数计算不同的数值并输出,查看这些数值运算的结果与原数值有什么不同。ceil.php代码如下:程序运行结果如图5-10所示。上一页下一页返回5.3 PHP函数库可见,该函数返回不小于x的下一个整数,x如果有小数部分,则进一位。该函数返回的类型还是float,因为float值的范围通常比integer的要大。2.rand()函数rand()函数返回随机整数。该函数的语法规则如下:参数的详细说明见表5-8。【例5-12】应用rand()函数返回一些随机数,并输出。rand.php代码如下:上一页下一页返回5.3 PHP函数库程序运行结果如图5-11所示。可见,rand()函数中如果没有提供可选参数min和max,rand()返回0~RAND_MAX之间的伪随机整数。5.3.5 PHP文件系统函数库文件是存取数据的方式之一。相对于数据库而言,文件在使用上更加方便、直接。如果数据较少、较简单,使用文件存储无疑是最合适的方法。PHP对文件的操作是通过内置的文件操作系统函数来完成的。常用的文件系统函数见表5-9。fopen()函数打开文件或者URL,并返回该文件的标识指针。该函数的语法规则如下:参数的详细说明见表5-10。上一页下一页返回5.3 PHP函数库【例5-13】应用fopen()函数打开指定路径下的文件,并判断文件打开是否成功,成功,输出true,失败,返回false。代码如下:运行结果:true如果PHP认为filename指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是PHP可以访问的,因此需要确认文件访问权限。上一页返回5.4 综合案例很多时候我们在登录或注册或者填写一些表单信息时,或多或少地都会填写一些不完全符合系统需要的内容。【例5-14】在填写用户名等内容时多加了空格、在填写密码时超出了系统要求的长度等,系统都会有很多提示。这其实是系统对输入规则的一种保护措施,那么本章的综合实例就来使用函数过滤用户输入的多余内容,去除用户填写注册信息中的空格,并判断用户密码的填写长度。代码如下所示:下一页返回5.4 综合案例上一页下一页返回5.4 综合案例上一页返回图5-1程序运行结果返回图5-2程序运行结果返回图5-3程序运行结果返回图5-4程序运行结果返回图5-5程序运行结果返回表5-1常用的变量函数返回表5-2常用的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河北唐山中心医院眼科招聘2人笔试备考试题及答案解析
- 2026年文法学院招聘MPA教学秘书备考题库及一套参考答案详解
- 2025广西南宁市良庆区总工会招聘工作人员1人笔试模拟试题及答案解析
- 2026年贵港市港南区自然资源局关于公开招聘编外聘用人员的备考题库及一套参考答案详解
- 2026年江投资本板块校园公开招聘备考题库有答案详解
- 事浙江省嘉兴经济技术开发区2026年公开招聘75人备考题库及1套参考答案详解
- 2026年海宁市远达教育集团招聘备考题库(九)参考答案详解
- 2026年温岭市交通旅游集团有限公司下属温岭市规划设计院有限公司面向社会公开招聘工作人员备考题库及参考答案详解1套
- 2026年陆川县滩面镇卫生院公开招聘编外人员备考题库及一套答案详解
- 2026湖南常德烟草机械有限责任公司招聘24人笔试备考题库及答案解析
- (自2026年1月1日起施行)《增值税法实施条例》的重要变化解读
- 2025年游戏陪玩分成协议
- 全国秸秆综合利用重点县秸秆还田监测工作方案
- 2026年内蒙古化工职业学院单招职业适应性考试参考题库及答案解析
- 国家事业单位招聘2024国家水利部小浪底水利枢纽管理中心招聘事业单位人员拟聘用人员笔试历年参考题库典型考点附带答案详解(3卷合一)
- 核生化应急救援中心火灾预案
- 25数五上数学人教版期末押题卷5套
- 2026年辽宁金融职业学院单招职业适应性测试题库及参考答案详解
- 中小企业人才流失问题及对策分析
- 2026年教师资格之中学综合素质考试题库500道及完整答案【名师系列】
- 中海大海洋地质学课件第4章河口与海岸-3第十二讲
评论
0/150
提交评论