1

我正在尝试将数组传递给一个方法,并且我希望该方法使用数组的值作为参数。

我发布了一个关于如何将数组分配给函数参数的类似问题 ? 线程,但我实际上正在研究类方法。

if (method_exists($testInstance, $method)){
  $a=array {'1'=>'aru1', '2'=>'arg2'}   //could have more than 2. it's dynamic
  call_user_func_array($testInstance->$method(), $a);  //this won't work.
}

有什么想法吗?非常感谢!

4

1 回答 1

3

正如菲利克斯建议的那样,您需要传递一个可调用对象。对于一个类方法,它是一个array对象 inatance(或类名,如果它是一个静态方法)和方法名:

call_user_func_array(array($obj,'myMethod'), $args)

于 2012-05-14T01:26:54.783 回答