3

此 PHP 代码的输出是33.

$b=2;
$a=&$b;
$a=3;
print $a;
print $b;

怎么$b变成3了?

4

5 回答 5

4

就像$a指向$b内存位置一样。

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

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

于 2012-09-11T06:33:51.970 回答
3

php中的引用

从上图中可以看出,当您将一个变量的引用分配给另一个变量时,它们都指向同一个位置,因此一个变量所做的更改也会反映到另一个变量。
谢谢

于 2012-09-11T06:47:32.090 回答
1

您正在将“$b的地址放入$a中,然后更改$a,因此$b地址中的值已更改,因此$b也已更改

于 2012-09-11T06:34:35.060 回答
1

一旦你做了一个引用$a并且$b是同一个变量的两个名字。

另见: http: //php.net/manual/en/language.references.php(特别是列表中的第一篇文章)

于 2012-09-11T06:34:38.627 回答
1

$a=&$b;这句话就像在说“从现在开始$b,你也是$a”。

print $a; // prints 3
print $b; // prints another 3
于 2012-09-11T06:35:36.780 回答