function_exists
用于检测函数是否存在
method_exists
用于检测类中的方法是否存在
is_callable
既可以检测函数是否存在, 又可以检测类中的方法是否存在。 检测函数是否存在效果和function_exists一样,但检测类中的方法是否存在会受private和protected影响,如果方法存在但无法调用同样也会返回false而method_exists不会,只要类中存在此方法就返回true。
例:
<?php
class test{
private function say(){
echo 'Hello!';
}
}
var_dump(method_exists('test','say')); // true
var_dump(is_callable(array(new test(),'say'))); // false