## Объекты

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

Новые объекты создают выражением `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;  // Выводит 'Привет'

    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open