黑马程序员技术交流社区
标题: 【济南中心】PHP课程同步笔记day14:PHP函数 [打印本页]
作者: 小鲁哥哥 时间: 2017-5-29 10:07
标题: 【济南中心】PHP课程同步笔记day14:PHP函数
本帖最后由 小鲁哥哥 于 2017-5-29 10:11 编辑
【济南中心】PHP课程同步笔记day14:PHP函数
PHP函数
1.概念
将一段常用的功能代码,进行封装,然后起个名字,叫”函数”
使用函数,可以减少我们的工作量。对于后期的项目维护,十分方便。
2.函数定义格式
Function functionName(形参1,形参2,形参3......){
函数的功能代码
[return 参数r]
}
函数语法格式说明:
Function是系统关键字,不分大小写。
functionName是自定义的函数名称。函数名的命名规则与变量一样,只是不加$符号。
()定义函数时的参数,该参数又称为”形参”。
形式参数:主要用来接收调用函数者,传递过来的数据。
形参可以是多个,多个形参之间用逗号隔开,也可以没有形参
形参其实就是一个变量的名称,主要用来临时存储数据的。
{}是函数的功能代码。
Return语句:
向谁返回内容?谁调用了该函数,就向谁返回。
返回什么内容?该内容的类型不限制,可以是任何数据类型
Return语句,一旦执行,函数将中止。也就是return语句之后的函数代码不再执行。
Return 语句返回一个值,并退出函数。
3.函数调用
函数定义是不会自动执行的。
函数必须要经过调用,才能看到结果
调用函数和定义函数不分顺序。
4.函数参数
a) 形式参数(形参):形参主要用来接收调用函数传递过来的数据。
i. 形参一般是变量,不能是具体的值
ii. 形参只能在函数内部使用
b) 实际参数(实参):向定义函数传递的数据
i. 实参可以是具体值,也可以是一个变量
c) 形参和实参的个数,一般情况下必须一致
Function showInfo($a){
Echo “OK”;
}
$a = 100;
showInfo($a);
函数参数传递
1.值传递(拷贝传值)
将一个变量的值,”拷贝”一份,传给形参
在函数内部,对形参进行了修改,而函数外的这个变量不会改变
函数内的形参,与函数外的实参,是相互独立的,没有任何联系的
在PHP中,默认”值传递”的有:字符型、整型、浮点型、布尔型、数组、NULL
2.引用传递
将一个变量的地址传给形参,即形参与变量指向的是”同一物”.
变量和参数之间是相互联系,修改一个,另一个会跟着变。
参数在使用引用传递时,需要在”形参”前加一个”&”符号。”实参”前不能添加。
默认引用传地址:资源和对象
3.默认参数
PHP支持默认参数。
当实参格式少于形参个数时,那么少的那个实参可以用末日的形参来代替
匿名函数
1.概念
没有名字的函数就是匿名函数,它不能单独定义也不能单独调用
匿名函数一般用来给其他变量赋值的。
2.匿名函数的两种用法
i. 将匿名函数当成一个数据,赋给其他变量
ii. 将匿名函数作为函数的参数来使用
变量作用域
变量作用域:就是变量生效的范围
在PHP中三种变量作用域:全局变量、局部变量、超全局变量。
1.全局变量
全局变量:在函数外部定义的变量,称为”全局变量”。
全局变量,在网页执行完毕,就消失了。
在JS中,全局变量,可以直接在函数内部来使用
在PHP中,全局变量不能直接在函数内部使用
2.局部变量
局部变量:在函数内部定义的变量,称为”局部变量”。
局部变量,只能在函数内部来使用
局部变量,在函数执行完毕后就消失了。
3.在局部作用域中访问全局变量---global关键字
Global关键字,只能在函数内部来使用
不能在使用global关键字时,直接给变量赋值。只能是先声明为全局,再赋值。
$GLOBALS超全局数组
“超全局数组变量”可以在网页的任何地方使用,包括函数内部和函数外部。
$GLOBALS超全局数组中包含的内容有:$_GET、$_POST、$_COOKIE、$_FILES
作者: IWantToBe... 时间: 2018-5-2 16:01
感谢分享。。。。
作者: pysl 时间: 2018-8-2 13:19
学习了,谢谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |