相关疑难解决方法(0)

36
推荐指数
4
解决办法
3万
查看次数

PHP中的对象复制与克隆

考虑以下:

$object1 = new stdClass();
$object2 = $object1;
$object3 = clone $object1;

$object1->content = 'Ciao';

var_dump($object1);
 // Outputs object(stdClass)#1 (1) { ["content"]=> string(4) "Ciao" }
var_dump($object2);
 // Outputs object(stdClass)#1 (1) { ["content"]=> string(4) "Ciao" }
var_dump($object3);
 // Outputs object(stdClass)#2 (0) { }
Run Code Online (Sandbox Code Playgroud)

这是一个正常的PHP行为,$object2其内容是否相同$object1

对我来说,这听起来像是$object2一个参考$object1而不是副本.在更改内容之前克隆对象确实就像一个副本.这种行为与变量发生的情况不同,对我来说似乎不直观.

php clone object

27
推荐指数
3
解决办法
4万
查看次数

标签 统计

php ×2

clone ×1

object ×1

variable-assignment ×1

variables ×1