bool is_callable ( callable $name
[, bool $syntax_only
= false [, string &$callable_name
]] )
用来验证传递的参数$name是否是一个有效的方法,并且在类外是否能够正常调用,返回boolearn值
$name 也可是是一个数组,用于存放检测的方法所在的类对象和方法名
$syntax_only
如果该参数为true,则只验证$name是否是一个函数或方法,同时$name只能为string型或者是合法结构的数组型。所谓合法结构的数组型是指:数组必须只有2个元素,第一个元素为要检测的方法所在类的对象(object型)或者类对象的变量(string型),第二个元素要检测的方法名(string型)
$callable_name 返回所检测的方法名
1 <?php 2 // How to check a variable to see if it can be called 3 // as a function. 4 5 // 6 // Simple variable containing a function 7 // 8 9 function someFunction() 10 { 11 } 12 13 $functionVariable = 'someFunction'; 14 15 var_dump(is_callable($functionVariable, false, $callable_name)); // bool(true) 16 17 echo $callable_name, "\n"; // someFunction 18 19 // 20 // Array containing a method 21 // 22 23 class someClass { 24 25 function someMethod() 26 { 27 } 28 29 } 30 31 $anObject = new someClass(); 32 33 $methodVariable = array($anObject, 'someMethod'); 34 35 var_dump(is_callable($methodVariable, true, $callable_name)); // bool(true) 36 37 echo $callable_name, "\n"; // someClass::someMethod 38 39 ?>