1. 概述
1.1 什么是深拷贝和浅拷贝
- 深拷贝:赋值时值完全复制,完全的copy,对其中一个作出改变,不会影响另一个。
浅拷贝:赋值时,引用赋值,相当于取了一个别名。对其中一个修改,会影响另一个。
1.2 如何进行深浅拷贝
PHP4 中等号是完全深拷贝的。
PHP5 中等号赋值时,当赋值为普通值时,是深拷贝,当赋值是对象时是浅拷贝。这时如果希望进行对象的深拷贝,就需要关键字clone来实现。虽然 clone 能进行对象的深拷贝,但是其深拷贝是不递归的(如果拷贝的对象的成员变量仍然是对象,则改属性也是浅拷贝),如果需要完全的深拷贝,需要用别的方法。2. 对象深拷贝
对象的完全深拷贝有两个办法:
