在这里,我有以下代码,它输出像21,21。 21美元的价值是多少
$a = '1';
$b = &$a;
$b = "2$b";
echo $a.", ".$b;
输出
21,21
答案 0 :(得分:2)
您通过&参考$ a参考$ b符号。这意味着如果您更改$ b的值,您也将更改$ a。
换句话说,$ b的内存地址为$ a
答案 1 :(得分:0)
$b = &$a;
这是罪魁祸首。如果您只想将$ b作为$ a的副本,请将语句更改为
$b = $a;
通过使用&
,您不会复制,而是说两个变量都应指向相同的内存位置('按引用传递'而不是'按值传递')。因此,如果您使用一个变量(例如$b
)在内存位置存储不同的值,则另一个变量$a
也会自动更新。