函数就是有一定功能的一些语句组织在一起的一种形式,定义函数的目的则是将程序按照功能分块,方便程序使用,管理,阅读和调试。
函数有两种:
一种是别人写好的或者系统内部提供的函数;
另一种是自己定义的函数,用来实现自己独特的需求。
一、函数的定义
- 函数是被命名的:每一个函数都有唯一的名称,在程序的其他部分使用该名称,可以执行函数中的语句,叫做----调用函数
- 函数是独立的:无需程序其它部分的干预,函数便能够独立的执行其任务
- 函数执行特定的任务:任务是程序运行所执行的具体工作
- 函数可以讲一个返回值返回给调用他的程序:程序调用函数时候,将执行函数中的语句,而这些语句可以讲信息返回给调用它们的程序。
PHP的模块化程序结构是通过函数或对象来实现的,函数则是将复杂的PHP程序分为若干的功能模块,每个模块都变成一个PHP函数,然后通过在脚本中调用函数,以及在函数中调用函数来实现一些大型文体的PHP脚本编写。
- 提高程序的重用性
- 提高软件的可维护性
- 提高软件的开发效率
- 提高软件的可靠性
- 控制程序设计的复杂性
函数是程序开发中非常重要的内容。因此对函数的定义、调用和值得返回等,要尤其注重理解和应用,并通过调试加以巩固。
二、自定义函数
- 编写函数时候首先要明白希望函数做什么
- 系统函数是在PHP中提供的可以直接使用的函数,每一个系统函数都是一个完整的可以完成指定任务的代码段
- 多学会一个系统函数,就会多一个PHP的功能。使用系统函数的执行效率比自定义函数高,两种函数在程序中调用方式 没有区别。
一、函数的声明
函数的语法格式说明:
1) 每个函数的第一行都是函数头,由声明函数的关键字 function 、函数名 和 参数列表 三部分组成,其中每一部分完成特定的功能。
2) 每个自定义函数都必须使用 “function”关键字声明。
3) 函数名可以代表整个函数,可以将函数,命名为任何名称,只要遵循变量名的命名规则即可。每个函数都有唯一的名称,但需要注意的是,PHP中不能使用函数的重载。所以函数不能重名(包括系统函数)。
4) 声明函数是函数名后面的花括号必须有,在花括号中表明了一组可以接受的参数列表,参数就是声明的变量,然后在调用函数时候传递给他值,参数列表可以没有,可以有一个或多个参数,多个参数用逗号(,)分开。
5) 函数体位于函数头后面,用{ } 花括号括起来。实际的工作实在函数体重完成,函数被调用后首先执行函数体重第一条语句,执行到 return 或者{ }花括号后结束,返回到调用的程序。
6) 关键字 return 可以从函数中返回一个值 ,在return 后面加一个表达式,程序执行到return时,该表达式江北计算,然后返回到调用程序出继续执行。函数的返回值为该表达式的值。
因为参数列表和返回值在函数调用的时候都是可选的,其他部分是必须有的,所以声明函数通常有一下几种方式:
1) 没有参数列表
2) 没有返回值
3) 没有列表和返回值
二、函数的调用
函数不被调用就不会执行,在需要函数的位置进行调用,就开始执行函数体中的内容,执行完毕返回到调用的位置继续向下执行。
1) 通过函数名称去调用函数,并让函数体的代码运行,调用几次函数体就会执行几次。
2) 如果函数有参数列表,还可以通过函数名后面的圆括号传入对应的值给参数,在函数体中使用参数来改变函数内部代码的执行行为。
3) 如果函数有返回值,当函数执行完毕就会将return后面的内容传给调用函数的位置没这样就可以吧函数名称当做函数返回的值使用。
只要在内容中写好函数,不管在函数前或者后都可进行调用
三、函数的参数
参数列表由0个,1个或多个参数组成。
在定义函数时,函数名后面的括号内的表达式为形式参数;被调用函数名后面括号中的表达式为实际参数。形参和实参需要按照顺序对应传递数据。
四、函数的返回值
返回值类似于函数体中得出的运算(运算)结果用 return 输出
Return语句在函数中使用有两个作用
- Return语句可以向函数调用者返回函数体中任意确定的值
- 将程序控制权返回到调用者的作用域,即退出函数,在函数体重如果执行了return语句,后面的语句就不会被执行。
如果需要返回多个值,不能通过连续写多个return语句的方式,需要将多个值添加到一个数组中,在使用return返回这个数组,在调用函数是可以接收到这个数组,来进行使用。
三、PHP变量的范围
变量的范围也就是他生效的范围,大部分PHP变量只有一个单独的使用范围。大致上说变量回一句声明的位置分为局部变量和全局变量两种。
① 局部变量
局部变量也成内部变量,是在函数内部声明的变量,作用域仅限于函数内部。如果在函数外部需要调用该变量值,必须通过return指令,来将其值传回值主程序区块一座后续处理。
② 全局变量
全局变量也成为外部变量,在函数的外部定义,他的作用域为从变量定义出开始,值本程序文件的末尾。
全局变量不能直接用在函数中,需要通过global来进行定义,告诉程序主题此变量为全局变量。
四、声明及应用各种形式的PHP函数
在PHP系统中有部分函数是需要特定的PHP扩展模块一起变异的,否则会出现“未定义函数”错误。通过调用 phpinfo()或者get_loaded_extensions()可以得知PHP加载了那些扩展库。同时还需注意很多扩展库默认就是有效的。
系统函数需要注意:
- 函数的功能描述(决定是否使用)
- 参数说明(怎么使用)
- 返回值(调用后如何处理)
一、常规参数的函数
二、伪类型参数的函数
三、引用参数的函数
四、默认参数的函数
五、可变个数参数的函数
六、回调函数
五、使用自定义函数库