本文主要和大家分享PHP中创建类的对象详解,主要以文字和代码进行讲解,希望能帮助到大家。
PHP中对象的创建为:new 类名;
Class A{ public $p1=1; } $o1=new A(); var_dump($o1);
结果为:
可以看出变量$o1是一个A类的对象类型。“#1”是一个系统内部自定义的标识符。
系统在创建时,变量$o1中存储的其实是系统内部自定义的标识符#1,通过#1找到对应的对象实体(类似于引用传递)。
将变量$o1赋值给$o2后,改变对象o1中所对应的p1值,此时o2中对应的p1值也随之改变:
$o2=$o1; $o1->p1=10; echo "<br/>$o2->p1"; var_dump($o2);
改变$o1中的属性时,$o2中对应的属性也随之改变。并且o1和o2的各性质都相同(其实他们指向的是同一个对象)。
其真正的方式如图所示:
而对于引用传值在类对象中的应用:
Class A{ public $p1=1; } $o1=new A(); $o2=&$o1; $o1->p1=10; echo $o1->p1; echo "<br/>"; echo $o2->p1; echo "<br/>"; var_dump($o1); echo "<br/>"; var_dump($o2);
改变对象o1中的属性p1时,o2中的属性也随之改变。并不像我们之前对于‘值传递’和‘引用传递的认识’。
其具体的实现方式为:
因此当unset($o1)后$o2还是存在的。
Class A{ public $p1=1; } $o1=new A(); $o2=&$o1; $o1->p1=10; unset($o1); echo $o1->p1; echo "<br/>"; echo $o2->p1; echo "<br/>"; var_dump($o1); echo "<br/>"; var_dump($o2);
以上是PHP中创建类的对象详解的详细内容。更多信息请关注PHP中文网其他相关文章!