【发布时间】:2017-04-28 04:38:24
【问题描述】:
这是我当前的代码:
public function myfunc( $class_name, $method_name, array $params = [] ) {
$obj = new $class_name();
if ($obj->$method_name()['status']) {
// do stuff
}
}
我当前的代码也可以。现在我需要将$params 数组传递给$method_name() 方法。所以我使用call_user_func_array PHP 函数。这是我的新代码:
public function myfunc( $class_name, $method_name, array $params = [] ) {
$obj = new $class_name();
if (call_user_func_array($obj->$method_name()['status'], $params)) {
// do stuff
}
}
但是在这个版本中,它会抛出这个错误:
call_user_func_array() 期望参数 1 是一个有效的回调,没有给出数组或字符串
你能告诉我如何解决它吗?
【问题讨论】:
标签: php arrays function oop parameter-passing