我正在尝试将数组传递给方法,我希望该方法使用数组的值作为参数。
我发布了一个类似的问题 How to assign arrays to functions arguments? 线程,但我实际上在这里的类方法。
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.
}
有什么想法?非常感谢!
答案 0 :(得分:3)
菲利克斯建议你需要传递一个可调用的。对于具有对象inatance的array
的类方法(如果是静态方法,则为类名)和方法名称:
call_user_func_array(array($obj,'myMethod'), $args)