在我的__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