## Object 对象

### 对象初始化

要创建新的 object，使用 `new` 语句实例化类：

示例 #1 对象构造

    <?php
    class foo
    {
        function do_foo()
        {
            echo "Doing foo.";
        }
    }

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

详细讨论参见手册中类与对象章节。

### 转换为对象

如果将一个对象转换成对象，它将不会有任何变化。如果其它任何类型的值被转换成对象，将会创建一个内置类 stdClass 的实例。如果该值为 `null`，则新的实例为空。 array 转换成 object 将使键名成为属性名并具有相对应的值。注意：在这个例子里， 使用 PHP 7.2.0 之前的版本，数字键只能通过迭代访问。

示例 #2 转换为对象

    <?php
    $obj = (object) array('1' => 'foo');
    var_dump(isset($obj->{'1'})); // 输出 'bool(true)'

    // 自 PHP 8.1 起弃用
    var_dump(key($obj)); // 输出 'string(1) "1"'
    ?>

对于其他值，会包含进成员变量名 `scalar`。

示例 #3 `(object)` cast

    <?php
    $obj = (object) 'ciao';
    echo $obj->scalar;  // 输出 'ciao'
    ?>

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