PHP - Class/Object property_exists() Function



The PHP Class/Object property_exists() function is a built-in method which is used to check objects and classes have any property or not. It returns true if the property is defined and false if it is not. This function is very useful for checking the presence of a property in an object or class before accessing it.

Syntax

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

bool property_exists ( 
   object|string $object_or_class, 
   string $property 
   )

Parameters

Below are the parameters of the property_exists() function −

  • $object_or_class − It is the name of the object or class to test for property.

  • $property − It is the name of the property in the class.

Return Value

The property_exists() function returns TRUE if the property exists, FALSE if it doesn't exist or NULL in case of an error.

PHP Version

First introduced in core PHP 5.1.0, the property_exists() function continues to function easily in PHP 7, and PHP 8.

Example 1

First we will show you the basic example of the PHP Class/Object property_exists() function to check if a property exists in a simple object.

<?php
   // Define a class here
   class Car {
      public $make;
   }
  
   $car = new Car();
   $car->make = "Toyota";
  
   if (property_exists($car, 'make')) {
      echo "Property 'make' exists.";
   } else {
      echo "Property 'make' does not exist.";
   }
?>

Output

Here is the outcome of the following code −

Property 'make' exists.

Example 2

In the below example we will use property_exists() function to check if the property does not exist in the created class. So in this case it will return false.

<?php
   //Define a class here
   class Bike {
      public $model;
   }
  
   $bike = new Bike();
  
   if (property_exists($bike, 'color')) {
      echo "Property 'color' exists.";
   } else {
      echo "Property 'color' does not exist.";
   }
?> 

Output

This will generate the below output −

Property 'color' does not exist.

Example 3

Here the property_exists() function is used to verify for a static property in a class with the help of the class name as a string.

<?php
   // Define a class here
   class Plane {
      public static $type = "Jet";
   }

   if (property_exists('Plane', 'type')) {
      echo "Property 'type' exists in Plane class.";
   } else {
      echo "Property 'type' does not exist in Plane class.";
   }
?> 

Output

This will create the below output −

Property 'type' exists in Plane class.

Example 4

Now we will create a class with having private property in it and then check that the private property exists using the property_exists() method.

<?php
   // Define a class here
   class Road {
      private $length = 50;
   }
  
   $road = new Road();
  
   if (property_exists($road, 'length')) {
      echo "Property 'length' exists in Road class.";
   } else {
      echo "Property 'length' does not exist in Road class.";
   }
?> 

Output

Following is the output of the above code −

Property 'length' exists in Boat class.
php_function_reference.htm
Advertisements