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) { }
它是否是具有与 相同的内容的正常 PHP 行为?$object2
$object1
对我来说,这听起来像是参考而不是副本。在更改内容之前克隆对象确实像副本一样。这种行为与变量发生的情况不同,对我来说似乎不直观。$object2
$object1