函数 is_callable() 和 method_exists() 区别

当接受类的时候, is_callable()函数第一个参数接受数组,数组第一元素是类或者对象,第二元素是方法名, method_exists()函数,接受两个参数,第一类或者对象,第二个方法名,第二函数主要检查是否存在,当调用时,例如 方法有 private,protected,调用时会出错.


class Test
{

public private function read()
{

}

}

$obj = new Test();

if(memthod_exists($obj,'read')){

$obj->read();

}这个函数,就会报错


if(is_callable(array($obj,'read'))){

$obj->read();

}就不会执行.