深复制 浅复制简单理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yilukuangpao/article/details/78890881

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


如有高见  欢迎留言

猜你喜欢

转载自blog.csdn.net/yilukuangpao/article/details/78890881
今日推荐