How to Create an Object Without Class in PHP ?

An object is an individual instance of the data structure defined by a class. We define a class once and then make many objects that belong to it. Objects are also known as instances. 

In this article, we will create an object without using a class in PHP.

Using new stdClass() to create an object without class: For creating an object without a class, we will use a new stdClass() operator and then add some properties to them.

Syntax:

// Creating an object
$object = new stdClass();

// Property added to the object
$object->property = 'Property_value';

Example 1: The following code demonstrates the new stdClass() method.

PHP
<?php

    // Create an Object
    $object = new stdClass();

    // Added property to the object
    $object->name = 'w3wiki';
    $object->address = 'Noida';

    // Print the object
    print_r($object);

?>

Output
stdClass Object
(
    [name] => w3wiki
    [address] => Noida
)

Convert an array into an object without class

We will create an associative array with the list of keys and values, and after that, we use typecast to convert the array into an object. 

Syntax:

// Declare an array
$arr = array(
key1 => val1,
key2 => val2,
...
);

// Typecast to convert an array into object
$obj = (object) $arr;

Example 2: The following code demonstrates the conversion of an array into an object without a class.

PHP
<?php

      // Create an associative array
      $studentMarks = array(
          "Biology"=>95, 
          "Physics"=>90,  
          "Chemistry"=>96, 
          "English"=>93,  
          "Computer"=>98
      );

      // Use typecast to convert
      // array into object
      $obj = (object) $studentMarks;

      // Print the object
      print_r($obj);

?>

Output
stdClass Object
(
    [Biology] => 95
    [Physics] => 90
    [Chemistry] => 96
    [English] => 93
    [Computer] => 98
)

Using json_decode with an Empty Object

In PHP, the json_decode function transforms an empty JSON object into a PHP object. By assigning properties to this object dynamically, it serves as an ad hoc object instantiation method without the need for formal class definitions, facilitating flexible object creation.

Example

PHP
<?php
$json = '{}'; // Empty JSON object
$obj = json_decode($json); // Convert JSON to PHP object
$obj->property1 = "value1"; // Dynamically add properties
$obj->property2 = "value2";

print_r($obj); // Print the object
?>

Output
stdClass Object
(
    [property1] => value1
    [property2] => value2
)