php 在用户自定义函数中支持可变数量的参数列表。其实很简单,只需使用 func_num_args()func_get_arg() ,和 func_get_args() 函数即可。
可变参数并不需要特别的语法,参数列表仍按函数定义的方式传递给函数,并按通常的方式使用这些参数。

func_num_args()

返回传入函数的参数总个数

<?php
function  demo ()
{
    $numargs  =  func_num_args ();
    echo  $numargs;//输出3
}
demo ( 'a' ,  'b' ,  'c' );

func_get_args()

返回传入函数的参数列表,一个索引数组

<?php
function  demo ()
{
    $args = func_get_args();
    var_dump($args);
}
demo ( 'a' ,  'b' ,  'c' );

结果

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

func_get_arg( $arg_num )

根据参数索引从参数列表返回对应值

<?php
function foo()
{
     $numargs = func_num_args();
     echo $numargs;   //输出3
     if ($numargs >= 2) {
         echo func_get_arg(1); //输出2
     }
}
foo (1, 2, 3);