PHP赋值运算符=&

可能重复:
参考赋值运算符在php =&

在PHP中,=&赋值运算符是什么意思? 我在“PHP手册”的作业部分找不到任何参考。

我在一个类实例中看到它,所以我完全不明白=&和=是的区别。


它意味着参考分配。

==&之间有两个区别。

首先=不创建参考集:

$a = 1;
$b = $a;
$a = 5; //$b is still 1

另一方面, =&运算符确实创建了参考集:

$a = 1;
$b = &$a;
$a = 5; //$b is also 5

其次, =改变参考集中所有变量的值,而&=中断参考集。 比较以前的例子:

$a = 1;
$b = &$a;
$c = 5;
$a = &$c; //$a is 5, $b is 1

它被称为参考分配。 它使分配给变量的点与赋值变量的值相同。

在PHP 4中,当分配对象和数组时,这是相当常见的,否则你会得到对象或数组的副本。 这对于内存管理以及某些类型的编程是不利的。

在PHP 5中,对象和数组是引用计数的,而不是复制的,因此参考分配的次数要少得多。 一些程序员仍然在使用它'以防万一'由于某种原因,PHP决定复制在那里有意义。 但是引用赋值在其他方面仍然有效,例如标量变量,通常在赋值时被复制。


这是一个参考作业,它实际上是两个不同的操作员。

=是赋值, &通过引用访问右侧的值。

链接地址: http://www.djcxy.com/p/9891.html

上一篇: PHP assignment operator =&

下一篇: and & operators?