Php/docs/function.get-object-vars
get_object_vars
(PHP 4, PHP 5, PHP 7)
get_object_vars — 返回由对象属性组成的关联数组
说明
get_object_vars
( object $obj
) : array
返回由 obj
指定的对象中定义的属性组成的关联数组。
Note:
在 PHP 4.2.0 之前的版本中,如果在
obj
对象实例中声明的变量没有被赋值,则它们将不会在返回的数组中。而在 PHP 4.2.0 之后,这些变量作为键名将被赋予null
值。
Example #1 使用 get_object_vars()
<?phpclass Point2D { var $x, $y; var $label; function Point2D($x, $y) { $this->x = $x; $this->y = $y; } function setLabel($label) { $this->label = $label; } function getPoint() { return array("x" => $this->x, "y" => $this->y, "label" => $this->label); }}// "$label" is declared but not defined$p1 = new Point2D(1.233, 3.445);print_r(get_object_vars($p1));$p1->setLabel("point #1");print_r(get_object_vars($p1));?>
以上例程会输出:
Array ( [x] => 1.233 [y] => 3.445 [label] => ) Array ( [x] => 1.233 [y] => 3.445 [label] => point #1 )
参见 get_class_methods() 和 get_class_vars()。
参数
object
- An object instance.
返回值
Returns an associative array of defined object accessible non-static properties
for the specified object
in scope. If a property have
not been assigned a value, it will be returned with a null
value.
更新日志
版本 | 说明 |
---|---|
5.3.0 | This function now returns NULL if the
|
prior to 5.3.0 | If the object isn't an object, then
get_object_vars() would return |
prior to 4.2.0 | If the variables declared in the class of which the
|
范例
Example #2 Use of get_object_vars()
<?phpclass 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 }