is_callable() 函数用于检测函数在当前环境中是否可调用。
is_callable() 函数验证变量的内容能否作为函数调用。 这可以检查包含有效函数名的变量,或者一个数组,包含了正确编码的对象以及函数名。
PHP 版本要求:PHP 4 >= 4.0.6, PHP 5, PHP 7
语法
bool is_callable ( callable $name [, bool $syntax_only = false [, string &$callable_name ]] )
参数说明:
- $name:要检查的回调函数。
- $syntax_only:如果设置为 TRUE,这个函数仅仅验证 name 可能是函数或方法。 它仅仅拒绝非字符,或者未包含能用于回调函数的有效结构。有效的应该包含两个元素,第一个是一个对象或者字符,第二个元素是个字符。
- $callable_name:接受"可调用的名称"。
返回值
如果 name 可调用则返回 TRUE,否则返回 FALSE。。
实例
<?php
// 检测变量是否为可调用的函数
function someFunction()
{
}
$functionVariable = 'someFunction';
var_dump(is_callable($functionVariable, false, $callable_name)); // bool(true)
echo $callable_name, "\n"; // someFunction
//
// 数组中包含方法
//
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
?>
输出结果为:
bool(true)
someFunction
bool(true)
someClass::someMethod