试图调用未知功能

时间:2014-03-26 19:43:48

标签: php

我必须动态尝试,如果函数可调用(不仅如果存在,但是如果可调用)。这是我的代码:

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...

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

使用is_callable

if (is_callable($function)){
    //do stuff here
}

如果您要将其传递给call_user_func,请确保$ function是一个字符串。 或者,您可以这样做:

    $function($args);

答案 1 :(得分:0)

听起来像call_user_func需要一个带有要调用的函数名称的字符串。你是在发送函数指针吗?