前段时间看到了Java中的对象克隆。感觉自己对php中的对象克隆不是很清楚,所以做了个小测试。代码如下a=newA();}}$b=newB();$d=1;$e=$d;$e++;echo"copy-on-write\n";echo$d."\n";echo$e."\n";echo"---------------------------------\n";$c=$b;$c->a->value++;$c->value++;echo"objectvariableinobject\n";echo$b->a->value."\n";echo$c->a->value."\n";echo"对象变量中的值变量\n";echo$b->value."\n";echo$c->value."\n";echo"-----------------------------------\n";$f=克隆$b;$f->value++;$f->a->value++;echo"对象变量中的值变量\n";echo$b->value."\n";echo$f->value."\n";echo"对象变量中的对象\n";echo$b->a->value."\n";echo$f->a->value."\n";?>运行结果还是和Java一致的,结论如下**对于值变量For,简单的赋值就是复制。对于对象变量,简单赋值就是引用。对于对象变量,使用clone进行赋值,对象变量中的值变量被复制,对象变量中的对象变量仍然是引用。**如有误解,欢迎小伙伴们指出。
