以动态方式为函数提供参数

时间:2015-05-13 19:11:20

标签: php dynamic

我目前正在寻找一种动态为函数提供参数的方法。 一些代码解释:

//Class: ClassXY
PUBLIC function function1($arg1, $arg2, $arg3);
PUBLIC function function2($arg1);

我目前称之为:

// $method = 'function1' or 'function2'
echo ClassXY :: {$method}($parameter_string);   

我的问题是,parameter_string或者是一个简单的字符串,它包含参数或包含我想要给函数提供的所有参数的数组。例如:

$parameter_string: array(3) {[0] => 'arg1', [1] => 'arg2', [2] => 'arg3' }

到目前为止一切顺利。我的问题是,该调用仅适用于ClassXY :: function2(),因为它只需要一个参数。如果我调用ClassXY :: function2()它不会工作,因为它需要三个参数但只有一个参数(具有三个元素的数组,应该是三个参数)。我需要一种方法让php意识到数组的每个元素都应该是一个参数。任何想法?

提前致谢!

1 个答案:

答案 0 :(得分:2)

看起来call_user_func_array就是您所需要的。

http://php.net/manual/en/function.call-user-func-array.php