回答
它通過參考。這意味着它不會創建傳遞的值的副本。
參見: http://php.net/manual/en/language.references.php(見亞當的回答)
通常情況下,如果你通過這樣的事情:
$a = 5;
$b = $a;
$b = 3;
echo $a; // 5
echo $b; // 3
如果你改變了第二個變量的原始變量($a
)將不會被修改($b
)。如果你通過參考:
$a = 5;
$b =& $a;
$b = 3;
echo $a; // 3
echo $b; // 3
原來也改變了。
傳遞對象時無用,因爲默認情況下它們將通過引用傳遞。
默認情況下,PHP5對象通過引用傳遞* not *,而對象標識符通過值傳遞(類似於Java的'引用'語義);詳情請參閱手冊:http://www.php.net/manual/en/language.oop5.references.php – Christoph 2010-01-17 17:18:36
謝謝,現在對我來說似乎毫無意義 – JasonDavis 2010-01-17 17:21:44
這真的很沒意思。人們使用它們的主要原因是不需要函數來返回變量,而只需修改變量。 – 2010-01-17 17:28:40
在PHP 4,這種(笨拙)相關的兩個變量。
$j = 'original';
$i =& $j;
$i = 'modified';
echo $j; // The output is 'modified'
同樣...
$j = 'original';
$i =& $j;
$j = 'modified';
echo $i; // The output is 'modified'
一些這方面作出時候還少一點不愉快在PHP 5的對象,但我認爲它的心臟是相同的,所以這些例子應仍然有效。
References用於別名變量,並有效地使用舊的對象系統。
在PHP 4中,對象的行爲與任何其他值類型相同,也就是說,分配會創建對象的副本。如果您想避免這種情況,您必須使用示例代碼中的引用。
隨着PHP 5,對象變量不再包含對象本身,但一個句柄(AKA對象標識符)和賦值只會複製句柄。使用參考不再是必要的。
- 1. 什麼意思?=在PHP中的意思?
- 2. 是什麼意思:是什麼意思?
- 3. PHP這是什麼意思?
- 4. PHP是什麼意思?
- 5. PHP/MySQL - 什麼是||意思?
- 6. PHP的print_r()中_r是什麼意思?
- 7. PHP中的「&」是什麼意思?
- 8. PHP語法中的$ {}是什麼意思?
- 9. php中的「or」是什麼意思?
- 10. 什麼意思在PHP中?
- 11. =>在php中是什麼意思?
- 12. 在php中「| =」是什麼意思?
- 13. php-apc命中值是什麼意思?
- 14. 在PHP中「?:」是什麼意思?
- 15. 「:」在PHP中是什麼意思?
- 16. 在PHP中,$ var [] []是什麼意思?
- 17. 在php中是什麼意思?
- 18. 在php中if(false)是什麼意思?
- 19. @在php中是什麼意思?
- 20. 在PHP中,ClassName :: class是什麼意思?
- 21. 在PHP中'<= ='是什麼意思?
- 22. 是什麼意思,在Python中是什麼意思?
- 23. 什麼是「=!」在下面的PHP代碼中是什麼意思?
- 24. SURF的min_dist和max_dist是什麼意思,FlannMatcher是什麼意思
- 25. 「?」是什麼意思?調用jsp的標記是什麼意思?
- 26. curl -F是什麼意思? PHP的instagram
- 27. %{}是什麼意思?
- 28. '#'是什麼意思?
- 29. 「?」是什麼意思?
- 30. #{...}是什麼意思?
如果您將來需要在PHP幫助參考或搜索引擎中搜索「操作符」。 – 2010-01-17 18:06:43
你也應該查找一些叫做「Singleton」的東西。 – cwallenpoole 2010-01-17 19:18:10