可变个数参数的函数
可变个数参数的函数格式说明:
mixed funName(string arg1 [,string ...] )
通常用户定义函数时,设置的参数数量是有限的。如果希望函数可以接受任意数量的参数,需使用以下函数:
func_get_args() //返回一个数组,包含所有参数
func_num_args() //返回参数总数
func_get_arg() //接收一个数字参数,返回指定参数
<?php
/**
声明一个函数more_args(),用于打印参数列表的值
虽然没有声明参数列表,但可以传入任意个数,任意类型的参数值
*/
function more_args() {
$args = func_get_args(); //将所有传递给脚本函数的参数当做一个数组返回
for($i=0; $i<count($args); $i++) { //使用for循环遍历数组$args
echo "第".$i."个参数是".$args[$i]."<br>"; //分别输出传入函数的每个参数
}
}
more_args("one", "two", "three", 1, 2, 3); //调用函数并输入多个参数
function more_args() {
for($i=0; $i<func_num_args(); $i++) { //使用for循环遍历数组$args
echo "第".$i."个参数是".func_get_arg($i)."<br>";//分别输出传入函数的每个参数
}
}
more_args("one", "two", "three", 1, 2, 3); //调用函数并输入多个参数
例 test.php
<?php
/*
* 可变参数
*
* number demo([number $...])
*
*/
function demo() {
$sum = 0;
for($i=0; $i<func_num_args(); $i++){
$sum +=func_get_arg($i);
}
return $sum;
}
echo demo(1,2,3,4,5,6,7,8,9,0);