iterate over properties of a php class

丶灬走出姿态 提交于 2019-12-01 14:38:05

问题


How can i iterate over the (public or private) properties of a php class?


回答1:


tl;dr;

// iterate public vars of class instance $class
foreach (get_object_vars($class) as $prop) {
   echo "$prop\n";
}

Explained:

http://nz.php.net/get_object_vars

class foo {
    private $a;
    public $b = 1;
    public $c;
    private $d;
    static $e;

    public function test() {
        var_dump(get_object_vars($this));
    }
}

$test = new foo;

var_dump(get_object_vars($test));

$test->test();

?>

array(2) {
  ["b"]=> int(1)
  ["c"]=> NULL
}

array(4) {
  ["a"]=> NULL
  ["b"]=> int(1)
  ["c"]=> NULL
  ["d"]=> NULL
}


来源:https://stackoverflow.com/questions/861254/iterate-over-properties-of-a-php-class

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!