ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
1、get_object_vars($obj) 获得对象的属性,以关联数组形式返回。 get_class_methods() 获得类的方法,以关联数组形式返回。 class A{ public $name; public $age; public $sex; public function __construct($name,$age,$sex){ $this->name = $name; $this->age = $age; $this->sex = sex; } } $a = new A('fxxy','28','man'); echo '<pre>'; print_r(get_object_vars($a));//获得对象属性集合,以数组形式展示 print_r(get_class_methods('A'));//获得类方法集合,以数组形式展示 2、get_parent_class(),参数是对象或者是类名,获得父类。 class A{ public $name; public $age; public $sex; public function show(){ return $this->name; } } class B extends A{ } $b = new B(); echo get_parent_class($b);//A 3、is_subclass_of($obj,$class):判断对象是否是某个类的子类实例化产生的。 class A{ public $name; public $age; public $sex; public function show(){ return $this->sex; } } class B extends A{ } $b = new B(); echo is_subclass_of($b,'A');//1 4、interface_exists():判断接口是否存在。 interface A{ function eat(); function walk(); function run(); } class B implements A{ function eat(){ echo 'eat'; } function walk(){ echo 'walk'; } function run(){ echo 'run'; } } echo interface_exists('A');//1 5、get_class():获得当前对象是哪个类实例化出来的。 6、get_declared_classes():以数组形式返回当前脚本中所有的类。 7、get_declared_interfaces():以数组形式返回当前脚本中的所有接口。 class Person{ private $name; private $age; private $sex; public function show(){ echo $this->show(); } } $person = new Person(); echo get_class($person);//Person echo '<pre>'; print_r(get_declared_classes()); interface A{ function see(); function watch(); }//当前脚本中所有的类 print_r(get_declared_interfaces());//当前脚本中所有的接口 8、method_exists():判断某个类中是否存在某个方法,也就是检查类的方法是否存在。 9、property_exists():判断某个类中是否存在某个属性,也就是检查类的属性是否存在。 10、instanceof:判断某个对象是否是某个类实例化产生的。 class A{ public $name; public $age; public function show(){ echo 'show'; } } $a = new A(); var_dump(method_exists($a,'show'));//true var_dump(method_exists($a,'go'));//false var_dump(property_exists('A','name'));//true var_dump(property_exists($a,'sex'));//false echo $a instanceof A;//1 echo $a instanceof B// 空 后续还会继续更新更多面向对象有关的函数!