php中method_exists()和is_callable()如何进行语句判断
Posted 咸蛋超哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中method_exists()和is_callable()如何进行语句判断相关的知识,希望对你有一定的参考价值。
method_exists()和is_callable()方法进行判断。那么两则区别是什么呢?
已知类文件如下:
class Student{
private $alias=null;
private $name=‘‘;
public function __construct($name){
$this->name=$name;
}
private function setAlias($alias){
$this->alias=$alias;
}
public function getName(){
return $this->name;
}
}
当方法是private,protected类型的,method_exists会报错,is_callable会返回false。
实例
下面是判断某一对象中是否存在方法getName
通过method_exists实现
$xiaoming=new Student(‘xiaoming‘);
if (method_exists($xiaoming, ‘getName‘)) {
echo ‘exist‘;
}else{
echo ‘not exist‘;
}
exit();
输出exist
通过is_callable实现
$xiaoming=new Student(‘xiaoming‘);
if (is_callable(array($xiaoming, ‘getName‘))) {
echo ‘exist‘;
}else{
echo ‘not exist‘;
}
exit();
输出exist
下面是判断某一对象中是否存在方法setAlias
当使用method_exists的时候报错如下
当使用is_callable的时候,输出not exist
以上是关于php中method_exists()和is_callable()如何进行语句判断的主要内容,如果未能解决你的问题,请参考以下文章
判断某个方法是否存在,解析php函数function_exists (),method_exists()与is_callable()的区别
检测某个方法是否属于某个类中--解析php函数method_exists()与is_callable()的区别