PHP - 类/对象 get_object_vars() 函数



PHP 类/对象 get_object_vars() 函数用于以数组的形式获取对象的属性。此函数对于查看或管理对象的属性很有用。它还可以访问对象的非静态属性。

语法

以下是 PHP 类/对象 get_object_vars() 函数的语法:

array get_object_vars(object $object)

参数

此函数接受 $object 参数,它是您要检索其属性的对象。

返回值

get_object_vars() 函数返回一个关联数组,其中包含作用域内对象的可访问的非静态属性。

PHP 版本

get_object_vars() 函数最初在 PHP 4 核心版本中引入,并且在 PHP 5、PHP 7 和 PHP 8 中都能轻松使用。

示例 1

首先,我们将向您展示 PHP 类/对象 get_object_vars() 函数的基本示例,以获取简单对象的属性。

<?php
   // Create a Person class
   class Person {
      public $name = "Aman";
      public $age = 25;
   }
  
   // Create object of the class
   $person = new Person();

   // Get the properties
   $properties = get_object_vars($person);

   // Display the result
   print_r($properties);
?>

输出

以下是以下代码的结果:

Array
(
    [name] => Aman
    [age] => 25
)

示例 2

在下面的 PHP 代码中,我们将创建一个类,并在类中包含公共和私有属性。因此,使用 get_object_vars() 函数只会返回公共属性。

<?php
   // Create a Person class
   class Car {
      public $make = "Volkswagen";
      private $model = "Sedans";
   }
   // Create object of the class
   $car = new Car();

   // Get the properties
   $properties = get_object_vars($car);
  
   // Display the result
   print_r($properties);
?> 

输出

这将生成以下输出:

Array
(
    [make] => Volkswagen
)

示例 3

此示例使用 get_object_vars() 函数和自定义类来表示二维点。该函数在添加新属性之前和之后返回对象属性的关联数组。

<?php
   // Create a class
   class Coordinate2D {
      var $a, $b;
      var $description;
      
      function Coordinate2D($a, $b) {
         $this->a = $a;
         $this->b = $b;
      }
      
      function setDescription($description) {
         $this->description = $description;
      }
      
      function getCoordinates() {
         return array("a" => $this->a, "b" => $this->b, "description" => $this->description);
      }
   }
   
   $point = new Coordinate2D(1.233, 3.445);
   print_r(get_object_vars($point));
   
   $point->setDescription("Location A");
   print_r(get_object_vars($point));
?> 

输出

这将创建以下输出:

Array
(
    [a] => 
    [b] => 
    [description] => 
)
Array
(
    [a] => 
    [b] => 
    [description] => Location A
)
php_function_reference.htm
广告