如何迭代php类的(公共或私有)属性?
答案 0 :(得分:28)
tl; dr;
// iterate public vars of class instance $class
foreach (get_object_vars($class) as $prop) {
echo "$prop\n";
}
<强>解释强>
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
}