我使用引用对象跟随stdClass
对象及其赋值。但是,在unset
ting unset($A);
仍然$B
输出$A
之前的值之后,即使为$A
的{{1}}属性分配了新值, 。请参阅下面的曲目。
->foo
修改
问题是<?php
$A = new stdclass;
$A->foo = 'AAA';
echo "Ouput $ A:";
echo "<pre>";
print_r($A);
/*
stdClass Object
(
[foo] => AAA
)
*/
$B = &$A;
unset($A);
$A = new stdclass;
$A->foo = 'aaa';
echo "after unset $ A and again assigning new value. Ouput $ A:";
echo "<pre>";
print_r($A);
/* prints like
stdClass Object
(
[foo] => aaa
)
*/
echo "Ouput $ B:";
echo "<pre>";
print_r($B);
/* prints like
stdClass Object
(
[foo] => AAA
)
*/
被分配了$B
的引用,但是在$A
未设置之后
$A
?$A
未设置且$A
打印的值为$B
,那么它应该打印$A
的新值吗?正如我们所知$A
如果Shadow Copy
对象是source
那么vanished/destroyed
对象无法指向reference
对象所指向的位置。