PHP - Class/Object get_class_vars() Function



The PHP Class/Object get_class_vars() function is used to get the default properties (variables) of a class. It gives you access to static properties and default values without the need to create the class. This function is useful for checking class properties.

Syntax

Below is the syntax of the PHP Class/Object get_class_vars() function −

array get_class_vars ( string $class )

Parameters

This function accepts $class parameter which is the name of the class as a string whose default properties you want to access.

Return Value

The get_class_vars() function returns an associative array of default public properties of the class. The resulting array elements are in the form of varname => value.

PHP Version

First introduced in core PHP 4, the get_class_vars() function continues to function easily in PHP 5, PHP 7, and PHP 8.

Example 1

Here is the first example to show you the usage of the PHP Class/Object get_class_vars() function to get the default properties of a simple class.

<?php
   // Declare Car class here
   class Car {
      public $color = 'red';
      public $model = 'Sedan';
   }
  
   $vars = get_class_vars('Car');
   print_r($vars);
?>

Output

Here is the outcome of the following code −

Array
(
   [color] => red
   [model] => Sedan
)

Example 2

This example shows how to get the default variables of a class House that has many data types using the get_class_vars() function.

<?php
   // Declare House class here
   class House {
      public $rooms = 3;
      public $price = 2500000;
      public $location = 'Mumbai';
   }
    
   $vars = get_class_vars('House');
   print_r($vars);
?> 

Output

This will generate the below output −

Array
(
   [rooms] => 3
   [price] => 2500000
   [location] => Mumbai
)

Example 3

This example shows that get_class_vars() function only returns public properties and it will not return the private or protected ones.

<?php
   // Declare Person class here
   class Person {
      public $name = 'Amit';
      private $age = 33;
      protected $gender = 'Male';
  }
  
  $vars = get_class_vars('Person');
  print_r($vars);
?> 

Output

This will create the below output −

Array
(
   [name] => Amit
)

Example 4

This code creates a class called ExampleClass with many properties, some of which have default values. It uses get_class_vars() to get and print the default values of the class's public properties before they are modified in the constructor.

<?php
   class ExampleClass {

      var $property1; // this has no default value...
      var $property2 = "abc";
      var $property3 = 200;
      private $property4;
  
      // constructor
      function __construct() {
          // change some properties
          $this->property1 = "foo";
          $this->property2 = "bar";
          return true;
      }
  
  }
  
  $example_object = new ExampleClass();
  
  $class_vars = get_class_vars(get_class($example_object));
  
  foreach ($class_vars as $name => $value) {
      echo "$name : $value\n";
  }
?> 

Output

Following is the output of the above code −

property1 : 
property2 : abc
property3 : 200
php_function_reference.htm
Advertisements