方案有多种:
一. 使用 get_object_vars() 方法缺点: 只能显示 public 的
//只显示public的
var_dump(get_object_vars($test));
处理: 在类中定义一个public 的方法, 外部对象调用即可显示所有属性(除了静态属性之外)
function showallproperties2(){
var_dump(get_object_vars($this));
}
二. 使用reflectionclass类能够获取所有的属性名
//显示static的
class abc
{
public static $instance='hello';
}
function get_all_static($classname)
{
$r = new reflectionclass($classname);
var_dump($r->getproperties());
}
get_all_static("abc");
ps:
php : reflection api
php的反射类reflectionclass、reflectionmethod使用实例
以上就是php怎么获取对象的属性名的详细内容。