Что такое stdClass в PHP?

Опубликовано: 4 Февраля, 2022

StdClass - это пустой класс в PHP, который используется для приведения других типов к объекту. Он похож на объект Java или Python. StdClass не является базовым классом объектов. Если объект преобразован в объект, он не изменяется. Но, если тип объекта преобразован / приведен к типу, создается экземпляр stdClass, если он не равен NULL. Если он равен NULL, новый экземпляр будет пустым.

Использует:

  • Класс stdClass напрямую обращается к членам, вызывая их.
  • Это полезно в динамическом объекте.
  • Он используется для установки динамических свойств и т. Д.

Program 1: Using array to storing data

<?php
      
// Array definition of an employee
$employee_detail_array = array(
    "name" => "John Doe",
    "position" => "Software Engineer",
    "address" => "53, nth street, city",
    "status" => "best"
);
  
// Display the array content
print_r($employee_detail_array);
?>
Output:
Array
(
    [name] => John Doe
    [position] => Software Engineer
    [address] => 53, nth street, city
    [status] => best
)

Программа 2: Использование stdClass вместо массива для хранения сведений о сотрудниках (динамические свойства)

Примечание: возможно приведение типа массива к объекту и объекта к массиву.

Program 3: Converting array into object

<?php
  
// Aarray definition of an employee
$employee_detail_array = array(
    "name" => "John Doe",
    "position" => "Software Engineer",
    "address" => "53, nth street, city",
    "status" => "best"
);
  
// type casting from array to object
$employee = (object) $employee_detail_array;
      
print_r($employee);
?>
Output:
stdClass Object
(
    [name] => John Doe
    [position] => Software Engineer
    [address] => 53, nth street, city
    [status] => best
)

Program 4: Converting object properties into array

<?php
      
// Object-styled definition of an employee
$employee_object = new stdClass;
$employee_object->name = "John Doe";
$employee_object->position = "Software Engineer";
$employee_object->address = "53, nth street, city";
$employee_object->status = "Best";
  
// The object is converted into array 
// using type casting
$employee_array = (array) $employee_object;
  
// Display the result in array
print_r($employee_array);
?>
Output:
Array
(
    [name] => John Doe
    [position] => Software Engineer
    [address] => 53, nth street, city
    [status] => Best
)