class copy{ public $name; public $sex; public function __construct(){ $this -> name = 'shen'; $this -> sex = '男'; } } /*$obj = new copy(); echo $obj -> name; $cpObj = $obj; echo "<br>"; echo $cpObj -> name = 'ning'; // = 浅复制 变量指向的是同一个对象 所以修改的也是一个对象 echo "obj:".$obj -> name."<br>"; // 结果 :ning echo "cpObj:".$cpObj -> name; // 结果 :ning*/ $obj = new copy(); echo $obj -> name.'<br>'; $cloneObj = clone $obj; $cloneObj -> name = 'ning'; // 深复制 关键字:clone 把整个对象直接复制并赋值给一个变量 就相当于去操作另外一个对象了 echo 'obj:'.$obj -> name.'<br>'; // 结果:shen echo 'cloneObj:'.$cloneObj -> name; // 结果:ning
如有高见 欢迎留言