PHP get_object_vars() 函数用于根据范围获取给定对象的可访问非静态属性。
语法
get_object_vars(object)
参数
object | 必需。 指定一个对象实例。 |
返回值
返回已定义对象可访问非静态属性的关联数组范围内的指定对象。
示例:get_object_vars() 示例
下面的示例显示 get_object_vars() 函数的用法。
<?php
class myClass {
private $a;
public $b = 1;
public $c;
private $d;
static $e;
//类方法
public function test() {
print_r(get_object_vars($this));
}
}
$myObj = new myClass();
//外部调用
print_r(get_object_vars($myObj));
//内部调用
$myObj->test();
?>
上述代码的输出将是:
Array
(
[b] => 1
[c] =>
)
Array
(
[a] =>
[b] => 1
[c] =>
[d] =>
)
示例:与派生类对象一起使用
考虑下面的示例,其中此函数与派生类对象一起使用类对象。
<?php
class myClass {
private $a;
public $b = 1;
public $c;
private $d;
static $e;
//类方法
public function test() {
print_r(get_object_vars($this));
}
}
class newClass extends myClass {
public $f = 2;
private $g;
static $h;
}
$myObj = new newClass();
//外部调用
print_r(get_object_vars($myObj));
//内部调用
$myObj->test();
?>
上述代码的输出将是:
Array
(
[f] => 2
[b] => 1
[c] =>
)
Array
(
[f] => 2
[a] =>
[b] => 1
[c] =>
[d] =>
)