要创建新对象对象,请在new语句中实例化类。
<?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?>
将对象转换为对象不会有任何变化。如果将其他类型的值转换为对象,则将创建内置类stdClass的实例。如果值为空,则新实例为空。如果将数组转换为对象,则该属性名称具有相应值。注意:在此示例中,对于PHP7.2.0之前的版本,数字密钥只能通过重复访问。
<?php $obj = (object) array('1' => 'foo'); var_dump(isset($obj->{'1'})); // PHP 7.2.0 后输出 'bool(true)',之前版本会输出 'bool(false)' var_dump(key($obj)); // PHP 7.2.0 后输出 'string(1) "1"',之前版本输出 'int(1)' ?>
对于其他值,包含成员变量名称的标量。
<?php $obj = (object) 'ciao'; echo $obj->scalar; // 输出 'ciao' ?>