问题
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