0%

PHP对象的复制

默认情况下,对于一个对象,直接用等于号,复制的是引用,而不是值

<?php
class MyClass{
    public $a;
}
$a=new MyClass();
$a->a=1;
$b=clone $a;
//通过clone关键字复制对象
$b->a=10;
echo $a->a;
//输出的是1
?>

如果该类的属性包括对象,需要覆盖_clone()方法,在方法中手动复制对象