我必须动态尝试,如果函数可调用(不仅如果存在,但是如果可调用)。这是我的代码:
try {
call_user_func($function, $arguments->arg);
} catch (Exception $e) {
$condition = $this->_object->getContent("phpCall", "return");
}
$function
和$arguments->arg
是动态变量,例如$function
包含md5
而$arguments->arg
包含123
。
我知道PHP中存在函数md5
,但是我收到此错误:
Warning: call_user_func() expects parameter 1 to be a valid callback, no array or string given in...
有什么想法吗?
答案 0 :(得分:5)
if (is_callable($function)){
//do stuff here
}
如果您要将其传递给call_user_func,请确保$ function是一个字符串。 或者,您可以这样做:
$function($args);
答案 1 :(得分:0)
听起来像call_user_func需要一个带有要调用的函数名称的字符串。你是在发送函数指针吗?