函数
1.什么是函数?
function 函数就是一个功能.
之前学过的函数: is系列的功能、settype、gettype、var_dump、isset、unset、empty、floatval、intval、strval....'
2.函数的学习流程
学习函数的定义
学会自定义函数
了解函数参数的使用
了解函数的变量作用域
变量函数
回调函数
匿名函数
递归函数
内部函数
文件的包含
3.函数学习的重点:
a) 学会自定义函数
b) 学习系统常用函数
4.函数的学习
函数的分类:
根据是否是PHP自带的函数:
系统函数
自定义函数
根据函数是否能够产生一个可以接受的结果
执行过程函数
带有返回值的函数
根据函数的结构来分
一般函数
变量函数
回调函数
内部函数
匿名函数
递归函数
函数的基本语法:
格式1: 基本格式
function 函数名(){
函数中的代码;
}
函数的特征:
1.函数声明之后,不调用 不会执行
2.函数声明之后,调用几次就可以执行几次
3.函数调用不分先后.
函数的命名规范:
1.可以使用英文,但是不可以使用中文
2.可以使用数字,但是不能以数字开头
3.不可以使用特殊字符,除了_
4.函数命名不区分大小写,一般使用驼峰命名法
5.函数命名要有意义
6.函数的命名不能喝已经存在的函数(包括自定义和系统)重名!
函数的格式2:
格式2: 基本格式
function 函数名(){
函数中的代码;
[return 语句;]
}
return语句的特征:
1.具有return语句的函数,可以返回一个值,被变量接受
2.函数一旦执行过程中执行了return语句,那么函数将终止执行
3.在函数中如果流程控制语句执行过程中 指定了return语句,那么流程控制也被结束,函数也终止执行.
具有return语句的函数是 带有返回值的函数
没有return语句的函数是 执行过程函数
4.如果函数需要返回多个数据,需要使用数组方式进行返回操作
格式3:
function 函数名(参数[=默认值],参数[=默认值],...){
函数中的代码;
[return 语句;]
}
函数参数相关的特征:
在声明函数或者调用函数的括号中的内容就是参数.
声明函数的括号中的参数称之为形参(形式上的参数)
调用函数的括号中的参数称之为实参(实际的参数值)
1.如果函数有形参且没有值,必须传入等量的实参
2.如果函数的形参有默认值,那么可以不传入实参,函数会使用形参的默认值
3.如果函数具备形参且有默认值 ,在传入实参的情况下,函数会使用实参的值而不是用形参的默认值。
4.函数将实参的值传递给形参的过程其实就是简单的变量赋值操作
5.如果函数同时具备有默认值的形参和没有默认值的形参,将没有默认值的形参放在有默认值的形参之前.
6.在传入实参的时候需要注意:实参和形参要做好逻辑上的对应关系。
变量的作用域问题:
局部变量: 函数内部声明的变量就是局部变量.
局部变量通常情况下只能在函数内部使用,不能再函数外部使用
普通变量:在页面中(不包括函数和类)声明的变量就是普通变量,不能再函数或者类的内部使用.
全局变量:在页面的所有位置都可以使用的变量就是全局变量.
全局变量的实现方法1:
在函数内部声明一个函数外部同名的变量,在变量前使用global关键字进行声明,该变量即可成为一个全局变量.
注意:该方式声明全局变量时,不可以在声明时赋值!
全局化变量实现方法2:
在函数内部借助超全局数组$GLOBALS的方法来进行访问函数外部的变量 ,格式 $GLOBALS[‘变量名’];
全局变量的实现方法3:(引用传参)
普通传参方式
引用传参方式:
引用传参的实现方法:
在函数的形参前使用&符合,即可使传参方式有普通传参变为引用传参,由于变量的实参赋值给形参的过程和变量赋值相同,所以引用传参就是引用赋值(变量引用)
引用传参可以实现变量的全局化操作,但是不一定实参变量一定要和形参变量同名.
引用传参的最大特征: 当一个值(实参)以引用传参方式传递到函数中时,如果函数中操作了这个值,函数外部的值也随之变化.
变量函数:
将一个函数名赋值给一个变量,然后调用变量时使用 变量()
的方式调用函数,这种方法就是变量函数的应用.