Php 为什么对象在取消序列化后不引用其他对象?

Php 为什么对象在取消序列化后不引用其他对象?,php,Php,现在obj1->var='something'和$obj->var='somethinew' 为什么$obj、$obj1不引用同一事物?函数反序列化的作用类似于替代构造函数。它将始终创建一个新对象。当您执行$obj=unserialize(serialize($obj)),您创建了一个新对象。取消序列化之前,它的属性如何?没有属性。它是一个全新的对象,其属性由字符串参数中的值填充。 $obj = new classname(); $obj1 = $obj; $obj-&g

现在obj1->var='something'和$obj->var='somethinew'


为什么$obj、$obj1不引用同一事物?

函数
反序列化
的作用类似于替代构造函数。它将始终创建一个新对象。

当您执行
$obj=unserialize(serialize($obj)),您创建了一个新对象。

取消序列化之前,它的属性如何?没有属性。它是一个全新的对象,其属性由字符串参数中的值填充。
    $obj = new classname();
    $obj1 = $obj;
    $obj->var = 'something';
    $obj = unserialize(serialize($obj));
    $obj->var= 'something new';