PHP 类和对象函数

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] => 
)