一、函数的可变参数列表相关知识:
1.实现方式一(php5.5及更早):
func_num_args() //获取当前函数传进的参数个数总和
func_get_arg($num) //获取当前参数的值,$num为当前函数中第几个参数
2.实现方式二(php5.6及更晚):
function sum(...$nums){
$sum = 0;
if(!$nums){
return $sum;
}else{
foreach($nums as $num){
$sum += $num;
}
return $sum;
}
}
(注:调用该函数,输出的sum则为传入的实参的值相加总和)
二、函数的引用传递相关知识:
function cs(&$a,&$b){
$num = $a;
$a = $b;
$b = $num;
}
$a = 2;
$b = 6;
cs($a,$b);
echo $a,$b;
则运行后输出的变量a与变量b的值对换(注:函数形参前‘&’符号)
三、函数的变量作用域相关知识:
1.全局变量:
$g_name = 'LIN';
//将变量g_name全局化
function show_name(){
//方式一(用global):
global $g_name;
echo $g_name;
//方式二(用$GLOBALS):
echo $GLOBALS['g_name'];
}
show_name()
(注:方式一和方式二区别在于,global只是取用值,函数执行中不会更改外部变量的值;而$GLOBALS在函数中修改变量值,外部的变量值也会跟着被修改)
2.静态变量(static):
/*php中的变量作用范围的另一个重要特性就是静态变量(static 变量)。静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。*/
function test_static(){
static $a = 0;
echo $a++
}
test_static();
test_static();
(注:第二次输出值则为1,static会保存上次执行之后的结果)