header('Content-type:text/html;charset=utf-8'); function foo() { $numargs = func_num_args(); //返回调用函数的传入参数个数,类型是整型 echo 'Number of arguments: '.$numargs.'<br>'; if( $numargs >= 2 ) { echo 'Second argument is: '.func_get_arg(1).'<br>'; //传回定义函数的参数列表的第arg_num个参数,其参数从0开始。且函数定义的外面来呼叫此函数会产生警告;并且当arg_num大于函数实际传递的参数数目时亦会产生警告并返回FALSE。 } $arg_list = func_get_args(); //此函数返回一数组,数组的各个元素相当于是目前使用者定义函数的各个参数。如果是从函数定义的外面来呼叫此函数,则func_get_args()将会产生警告。 for( $i=0;$i<$numargs;$i++ ) { echo 'Argument '.$i.' is: '.$arg_list[$i].'<br>'; } } foo(1,2,3); //func_num_args()可以用来结合func_get_arg()和func_get_args(),来允许使用者定义的函数接受可变长度参数列表。在我们构建PHP类的时候,灵活使用这三个函数,可以起到非常理想的效果 class mydb { private $user; private $pass; private $host; private $db; public function __construct() { $num_args = func_num_args(); if ($num_args > 0) { $args = func_get_args(); $this->host = $args[0]; $this->user = $args[1]; $this->pass = $args[2]; this->connect(); } } } //求平均值(动态) function average(){ return array_sum(func_get_args())/func_num_args(); } print average(10, 15, 20, 25); // 17.5
php函数之func_get_args()、func_get_arg()与func_num_args()
最新推荐文章于 2024-10-16 12:30:24 发布