(PHP 4, PHP 5, PHP 7, PHP 8)
Пустой класс общего назначения с динамическими свойствами.
Объекты стандартного класса создают оператором new или путём приведения к объекту значения другого типа. Ряд PHP-функций тоже создаёт экземпляры этого класса, например, json_decode(), mysqli_fetch_object() или PDOStatement::fetchObject().
Класс поддерживает динамические свойства
и не требует атрибута #[\AllowDynamicProperties],
хотя не реализует магических методов
__get() и __set().
Это не базовый класс, поскольку PHP не включает понятия универсального базового класса. При этом возможно создать пользовательский класс, который расширит класс stdClass и поэтому унаследует поддержку динамических свойств.
Класс не содержит методов или свойств по умолчанию.
Пример #1 Приведение к объекту значения другого типа
<?php
$obj = (object) array('foo' => 'bar');
var_dump($obj);Результат выполнения приведённого примера:
object(stdClass)#1 (1) {
["foo"]=>
string(3) "bar"
}
Пример #2 Возврат объекта функцией json_decode()
<?php
$json = '{"foo":"bar"}';
var_dump(json_decode($json));Результат выполнения приведённого примера:
object(stdClass)#1 (1) {
["foo"]=>
string(3) "bar"
}
Пример #3 Объявление динамических свойств
<?php
$obj = new stdClass();
$obj->foo = 42;
$obj->{1} = 42;
var_dump($obj);Результат выполнения приведённого примера:
object(stdClass)#1 (2) {
["foo"]=>
int(42)
["1"]=>
int(42)
}