自定义函数
1 |
|
末尾的text():为函数的调用,与前面的保持一致,同时text():放在自定义函数前,也能实现。
函数的调用需要遵守定义函数的时候写的规则,一一对应,将具体的实际参数传给定义函数时候写的形式参数;
调用函数之后执行的过程是相对独立的,互不干扰的,默认没有联系。
参数
形式参数由零个,一个或多个变量组成。
实际参数由零个,一个或多个参数组成,每个参数是一个表达式,用逗号隔开。
1 |
|
函数返回值
是将函数执行后的结果返回给调用者,默认值如果不写返回,则函数的返回值为NULL。
1 |
|
调用了add函数
1 |
|
PHP变量的范围
局部变量
局部变量也称内部变量,是在函数内定义的,其作用域仅限于函数内部(即为{ }内),离开函数后再使用这种变量就是非法的错误的。
1 |
|
全局变量
也叫外部变量,在函数的外部定义的,它的作用域为从变量定义处开始,到本程序,文件末尾。
但在PHP函数中无法直接使用全局变量,如需使用,必须用global声明变量。
1 |
|
静态变量
在函数内部定义变量时,使用static关键字来定义变量。
1 |
|
而缺少关键字
1 |
|
参数的传递
按值传递参数
默认的,我们在传递参数的时候默认使用的就是这个方式。
对于形式参数的操作,根本不是影响到实际参数(变量)的值,两者 相当于没有联系!
1 |
|
按引用传递参数
按引用传递参数,相当与形式参数和实际参数指的是同一个人,只是名字不一样,对于形式参数的操作会直接影响到实际的参数(变量)
1 |
|
函数的默认参数
可以给形式参数设置默认值,设置方法很简单直接赋值即可!
1 |
|
如果不传,按上面的值走。
1 |
|
如果传的话,按下面的实际参数值走。
注意:形式参数加默认值,要从右往左。
1 |
|
会报错,要将右面的$i
先赋值。才可以对于$a
进行赋值。
1 |
|
或
1 |
|
均可的到,如图所示。
以次同理…
可变长度参数
fun_get_args();//数组类型
fun_get_arg();//括号内可加数字(从0开始),代表要输出传入的第几个实参。
多为var_dump(fun_get_arg());
func_num_args();//返回传入函数的参数个数
这三个函数可以使用在我们的定义函数内部,能够返回给我们一些关于参数的信息。
可变函数(变量函数)
可变函数不能直接用于例如 echo,print,unset(),isset();empty(),include,require 以及类似的语言结构,
1 |
|
递归函数
在函数内部,自己调用自己,
1 |
|
当先输入3执行完后键入判断,判断要求用test(),函数test()没有执行完毕,后面的输出3也不会执行。
内部(内置)函数
php提供给我们许多现成的函数或者结构,我们可以在实际的开发中直接使用。
还有一些函数需要开启 特定的php扩展模块,否则在使用他们时会得到一个致命的“未定义函数”错误。