Объекты

Инициализация объекта

Новые объекты создают выражением new, которое создаёт в переменной экземпляр класса:

Пример #1 Создание объекта

<?php

class foo
{
function
do_foo()
{
echo
"Код foo.";
}
}

$bar = new foo();
$bar->do_foo();

?>

Полное рассмотрение производит раздел «Классы и объекты».

Преобразование в объект

Преобразование типа object в тип object не изменит тип значения. Объект не изменится при преобразовании значения с типом object в тип object. При преобразовании значения другого типа в object PHP создаёт новый экземпляр встроенного класса stdClass. Новый экземпляр будет пустым, если значение равнялось null. Массивы преобразовываются в тип object с именами полей как у ключей массива и теми же значениями. Обратите внимание, что до PHP 7.2.0 при таком преобразовании доступ к числовым ключам появляется только при итерации объекта.

Пример #2 Приведение к объекту

<?php

$obj
= (object) array('1' => 'foo');

var_dump(isset($obj->{'1'})); // Выводит 'bool(true)'

// Начиная с PHP 8.1 вызов функции key() на объектах устарел
var_dump(key($obj)); // Выводит 'string(1) "1"'

?>

Остальные значения при преобразовании PHP поместит в переменную-член объекта с названием scalar с исходным типом значения.

Пример #3 Преобразование в объект через приведение типа (object)

<?php

$obj
= (object) 'Привет';
echo
$obj->scalar; // Выводит 'Привет'

?>