PHP:数组到变量函数参数值

我有一个可变长度的数组,我需要转置为一个函数的参数列表.

我希望有一个这样做的整洁的方式 – 但我看不到如何.

我正在编写的代码将在类中调用一个方法 – 但是我不知道方法的名称,也不知道它有多少个参数.

我试过这个 – 但它不工作:

$params = array(1 => "test", 2 => "test2", 3 => "test3");
ClassName::$func_name(implode($params, ","));

以上将所有值都块化成函数的第一个参数.而应该使用3个参数值(test,test2,test3)来调用该函数.

我需要的是:

ClassName::$func_name("test", "test2", "test3");

任何想法如何整齐地做?

最佳答案
是的,使用call_user_func_array()

call_user_func_array('function_name', $parameters_array);

您可以使用它来调用类中的方法:

class A {
  public function doStuff($a, $b) {
    echo "[$a,$b]\n";
  }
}

$a = new A;
call_user_func_array(array($a, 'doStuff'), array(23, 34));

转载注明原文:PHP:数组到变量函数参数值 - 代码日志