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决定复制在那里有意义。 但是引用赋值在其他方面仍然有效,例如标量变量,通常在赋值时被复制。
这是一个参考作业,它实际上是两个不同的操作员。
=
是赋值, &
通过引用访问右侧的值。
上一篇: PHP assignment operator =&
下一篇: and & operators?