本文实例讲述了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程序设计有所帮助。