在我的__clone
方法中,我通過引用將一個變量分配給另一個變量。克隆之後我期望發生的事情是,當我爲一個對象更改此變量時,它將在另一個對象中發生變化。但這似乎並沒有發生。在__clone中通過引用傳遞
我的代碼:
class a {
var $a;
function a($var = NULL) {
if (isset($var)) {
$this->a = $var;
}
}
function __clone() {
$temp = new a();
$temp->a = &$this->a;
return $temp;
}
}
$a = new a('test');
$b = clone $a;
$b->a = 'zzz';
echo $a->a;
echo "\r\n";
echo $b->a;
輸出是這樣的:
test
zzz
我希望它是這樣的:
zzz
zzz