首页> 实战笔录 >PHP开发笔记 >PHP PHP

PHP为什么要使用clone对象而不用等号赋值

作者:小萝卜 2019-09-03 浏览 2018

简介PHP为什么要使用clone对象而不用等号赋值,因为对象默认属于引用类型

PHP为什么要使用clone对象而不用等号赋值

先发复习下变量的引入赋值:

//值传递和引用传递
$a = 10;
$b = $a; //值传递
$b = 20;
echo $a; //10

$a = 10;
$b = &$a; //引用传递
$b=20;
echo $a; //20
再看看对象的:
class A{
    public $name="aa";
}

$a = new A();
$b = $a; //对象的赋值属于引用赋值(因为对象默认属于引用类型)
$b->name="bb";
echo $a->name; //bb

//因为对象默认属于引用传递,所以为了实现复制操作。故使用克隆
$a1 = new A();
$b1 = clone $a1; //将a1对象克隆一份传给b1
$b1->name="bb";
echo $a1->name; //aa
这回大家知道为什么对象要用clone了吧!

很赞哦! (0)

文章评论

    高端网站建设