PHP实现动态获取函数参数的方法示例

这篇文章主要介绍了PHP实现动态获取函数参数的方法,结合实例形式分析了php针对函数参数操作func_num_args()、func_get_arg()及func_get_args()函数相关使用技巧,需要的朋友可以参考下。

本文实例讲述了PHP实现动态获取函数参数的方法,分享给大家供大家参考,具体如下:

PHP 在用户自定义函数中支持可变数量的参数列表。其实很简单,只需使用 func_num_args() , func_get_arg() ,和 func_get_args() 函数即可。

可变参数并不需要特别的语法,参数列表仍按函数定义的方式传递给函数,并按通常的方式使用这些参数。

1. func_num_args — 返回传入函数的参数总个数

int func_num_args ( void )

示例:

  1. <?php
  2. function demo ()
  3. {
  4. $numargs = func_num_args ();
  5. echo "参数个数为: $numargs \n" ;
  6. }
  7. demo ( 'a' , 'b' , 'c' );

运行结果

参数个数为: 3

2. func_get_args — 返回传入函数的参数列表

array func_get_args ( void )

示例

  1. <?php
  2. function demo ()
  3. {
  4. $args = func_get_args();
  5. echo "传入的参数分别为:";
  6. var_dump($args);
  7. }
  8. demo ( 'a' , 'b' , 'c' );

运行结果

传入的参数分别为:

  1. array (size=3)
  2. 0 => string 'a' (length=1)
  3. 1 => string 'b' (length=1)
  4. 2 => string 'c' (length=1)

3. func_get_arg — 根据参数索引从参数列表返回参数值

mixed func_get_arg ( int $arg_num )

示例

  1. <?php
  2. function demo ()
  3. {
  4. $numargs = func_num_args ();
  5. echo "参数个数为: $numargs <br />" ;
  6. $args = func_get_args();
  7. if ( $numargs >= 2 ) {
  8. echo "第二个参数为: " . func_get_arg ( 1 ) . "<br />" ;
  9. }
  10. }
  11. demo ( 'a' , 'b' , 'c' );

运行结果

参数个数为: 3

第二个参数为: b