PHP的is_callable用于检测一个函数或者一个类的方法是否可执行,用官方文档的话说就是检测参数是否为合法的可调用结构,代码示例如下。
class A
{
public function __construct(){
echo 'Class:'.get_called_class();
}
public function cc(){
$a = 3;
return $a;
}
}
$a = new A;
$test = is_callable(array('A','cc'));
var_dump($test);exit;
打印结果:
Class:A
boolean true官方示例:
function someFunction()
{
}
$functionVariable = 'someFunction';
var_dump(is_callable($functionVariable, false, $callable_name)); // bool(true)
echo $callable_name, "n"; // someFunction
//
// Array containing a method
//
class someClass {
function someMethod()
{
}
}
$anObject = new someClass();
$methodVariable = array($anObject, 'someMethod');
var_dump(is_callable($methodVariable, true, $callable_name)); // bool(true)
echo $callable_name, "n"; // someClass::someMethod官方示例分别是一个检测函数,和一个检测类的方法,以及更具体的用法。
例子
演示代码如下:
a("test","aa");//test类下没有aa方法,会输出error
$abc->a("test","a");//test类下有a方法,会输出ok
?>
OK ,这个函数的用法