首页> 实战笔录 >PHP开发笔记 >PHP PHP
PHP为什么要使用clone对象而不用等号赋值
作者:小萝卜 2019-09-03 【 PHP 面向对象 】 浏览 2435
简介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)
上一篇:PHP自定义数据库操作类