什麼是= &賦值運算符在PHP中呢?我在「PHP手冊」的作業部分找不到任何參考。
我看到它在一個類的實例,所以我挺不理解什麼是= &,僅供=之間的差異。
什麼是= &賦值運算符在PHP中呢?我在「PHP手冊」的作業部分找不到任何參考。
我看到它在一個類的實例,所以我挺不理解什麼是= &,僅供=之間的差異。
這意味着reference assignment。
=
和=&
之間有兩個不同。
首先,=
不創建引用集:
$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
這是一個reference assignment這實際上是兩個不同的運營商。
=
是分配,&
通過引用訪問右邊的值。
它被稱爲參考分配。它使分配給變量的點與賦值變量的值相同。
在PHP 4中,當分配對象和數組時,這是相當普遍的,否則你會得到對象或數組的副本。這對於內存管理以及某些類型的編程是不利的。
在PHP 5中,對象和數組是引用計數的,而不是複製的,所以引用分配的次數要少得多。一些程序員仍然在使用它'以防萬一'由於某種原因,PHP決定複製在那裏有意義。但是引用賦值在其他方面仍然有效,例如標量變量,通常在賦值時被複制。
+1的詳細解釋。 – 2010-07-08 01:19:07
在第三個例子中沒有看到&=的用法。我錯過了什麼嗎? – 2014-05-06 17:14:54