函数是一段完成指定任务的已命名代码块。
在PHP中有两种函数:自定义函数、系统函数。
自定义函数
局部变量
函数内部声明的变量,只能在函数内部调用。
全局变量
在函数外部声明的变量,可以在每个函数中使用。
在函数内部如果需要使用函数外部的变量,需要使用global关键字,将外部变量引入。
静态变量
在函数中声明的静态变量,只在第一次调用时,声明;第二次以后,直接使用,而不会再次声明。
多次调用同一个函数,共享其中的静态变量。
// www.maosiji.com 猫斯基
function maodemo() {
static $a = 0;
$a++;
echo $a."
";
}
maodemo();
maodemo();
maodemo();
/*
打印结果:
1
2
3
*/
常规参数的函数
/**
* 功能:处理两个数相加
* #param int $a 第一个加数
* @param int $b 第二个加数
* @return int
* @url https://www.maosiji.com
*/
function maosiji_add( $a, $b ) {
return $a+$b;
}
伪类型参数的函数
number 数字类型
mixed 各种类型
callback 函数
mixed funName( mixed $a, number $b, callback $c )
引用参数的函数
在PHP函数的参数中,如果有&引用参数,那么在调用函数时,引用参数必须传一个变量。
/**
* 功能:处理两个数相加
* #param int $a 第一个加数
* @param int $b 第二个加数
* @return int
* @url https://www.maosiji.com
*/
$b = 20;
function maosiji_test( &$a ) {
$a = 100;
}
echo $b.'
';
maosiji_test( $b );
echo $b.'
';
/*
打印结果:
20
100
*/
可选参数 VS 必选参数
$b 可选参数
$a、$c 必选参数
function maosiji_test( $a, $b=2, $c ) {
$a = 100;
}
可变个数的参数的函数
func_get_args() 返回所有参数的数组
func_num_args() 返回参数的总个数
func_get_arg() 接收一个数字参数(就是数组的下标),返回指定参数
function maosiji_test() {
// 包含所有参数的数组
$arr = func_get_args();
var_dump( $arr );
// 遍历出参数
for ( $i=0; $i