PHP中的变量引用

3
这段PHP代码的输出结果是33
$b=2;
$a=&$b;
$a=3;
print $a;
print $b;

$b怎么变成了3?


4
http://php.net/manual/en/language.references.php - Aurimas Ličkus
是的,你应该仔细阅读php.net网站上关于引用的解释。还有很多有趣的东西。在阅读完之后,你会爱上引用的。 - Imdad
$b 不是“真实”的变量,也没有值,但它是指向变量 $a 值的指针。当您输出 $b 时,实际上您输出的是 $a 的值。 - Juris Malinens
5个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
4

$a指向$b的内存位置时。

现在,如果您更改$a的值,它实际上将更新$b的值(存储$b的位置)。因为两者都指向同一内存位置。

或者,您可以说$a$b是访问同一内存位置的两种不同方式,因为您已将$b的引用分配给了$a


3

PHP 中的引用

从上面的图片可以看出,当您将变量的引用赋给另一个变量时,它们都指向同一位置,因此对其中一个的更改也会反映在另一个上。
谢谢


1

你正在将"$b"的地址存储到"$a"中,之后改变了"$a"的值,导致"$b"地址中的值也发生了改变,因此"$b"也随之改变了。


1

1

$a=&$b; 这行代码的意思是“从现在开始,$b 也是 $a。”

print $a; // prints 3
print $b; // prints another 3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,