我有这个 php 代码
$a = array('one');
$b[0] = &$a[0];
$c = $a;
$b[0] = 'three';
$a = array('two');
var_dump($a); echo '<br/>';
var_dump($b); echo '<br/>';
var_dump($c); echo '<br/>';
哪个输出这个->
array(1) { [0]=> string(3) "two" }
array(1) { [0]=> &string(5) "three" }
array(1) { [0]=> &string(5) "three" }
$b 和 $a 指向相同的值,但 $c 不应该指向相同的值,它应该有自己的值副本。然后,当我将 $b 的值更改为 3 时,我不明白为什么 $c 的值也会更改。我怎样才能防止这种情况?另外,当我将$a 的值更改为'two' 时,为什么$b 也不会更改为'two'?
提前致谢。