我们通常使用php自定义函数如:
function doUpdate($id,$data){
//TODO
}
function fetchUser($id,$group=0){
//TODO
}
等等,我们一般都是使用固定的函数参数,即函数函数个数是固定的!那么,php能不能在自定义函数中支持可变数量的参数呢?答案是肯定的!
其实很简单,我们只需使用三个php系统函数即可实现函数可变数量的参数:func_num_args()、func_get_arg()和 func_get_args();
这三个函数的意义:
func_num_args():返回传入参数的总个数;
func_get_arg():返回传入函数的参数列表(数组);
func_get_args():根据参数索引从参数列表返回参数值;
例如一下函数:
function updateUserInfo(){
$argNum=func_num_args();//获得参数个数
echo $argNum;
$argList=func_get_arg();//获得参数列表
echo $argList[1];
$name=func_get_args(0);//获得第一个参数值
echo $name;
}
调用
updateUserInfo('Tim','Shanghai',1980,5,1);
输出为:
4
Shanghai
Tim