在PHP中,对象(object)是一种复杂的数据类型,用于表示具体的实体或抽象的概念。对象是基于类(class)创建的,类定义了对象的属性和方法。对象可以视为类的实例。要创建一个对象,需要先定义一个类。类是对象的蓝图或模板,描述了对象应该有的属性和行为。
一、对象初始化
在PHP中,要创建一个新的对象 object,使用 new 语句实例化一个类:
<?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?>
二、转换为对象
如果将一个对象转换成对象,将不会有任何变化;如果其它任何类型的值被转换成对象,将会创建一个内置类 stdClass 的实例;如果该值为 null,则新的实例为空。 array 转换成 object 将使键名成为属性名并具有相对应的值。
注意:在这个例子里, 使用 PHP 7.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)' ?>
对于其他值,会包含进成员变量名 scalar。
<?php $obj = (object) 'ciao'; echo $obj->scalar; // 输出 'ciao' ?>