本文实例讲述了php可变长参数处理函数。分享给大家供大家参考,具体如下:
与C++一样,PHP中也可以对含有可变参数的函数进行处理,道理都一样,需要函数来专门处理参数列表。PHP中提供了三个相关的函数:
1. func_num_args() -- 返回传递给函数的参数个数
int func_num_args ( void )
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function open_database( $DB , $cache_size_or_values =null, $cache_size =null)
{
switch (function_num_args())
{
case 1:
$r = select_db( $DB );
break ;
case 2:
$r = select_db( $DB , $cache_size_or_values );
break ;
case 3:
$r = select_db( $DB , $cache_size_or_values , $cache_size );
break ;
}
return is_resource ( $r );
}
|
2. func_get_arg() -- 返回指定的参数
mixed func_get_arg ( int arg_num)
参数列表中的第一个参数的 arg_num 是0
1
2
3
4
5
6
7
8
9
10
11
|
<?php
function some_func( $a , $b )
{
for ( $i = 0; $i <func_num_args(); ++ $i )
{
$param = func_get_arg( $i );
echo "the param is $param\n"
}
}
some_func(1,3,5,7,9);
?>
|
3. func_get_args() -- 以数组的形式返回参数列表
array func_get_args ( void )
示例:
1
2
3
4
5
6
7
8
9
|
<?php
function some_other_func( $a , $b )
{
$param = func_get_args();
$param = join( ", " , $param ); // 分解显示
echo "the arglist is: $param\n" ;
}
some_other_func(1,3,5,7,9);
?>
|
希望本文所述对大家PHP程序设计有所帮助。