php 什么时候传引用,什么时候在PHP中使用传递引用?
以下內容不適用于對象,因為這里已經說明了。如果計劃修改傳遞的值,則通過引用傳遞數組和標量值將只會節省內存,因為PHP使用了更改時復制(copy-on-change)策略。例如:
# $array will not be copied, because it is not modified.
function foo($array) {
echo $array[0];
}
# $array will be copied, because it is modified.
function bar($array) {
$array[0] += 1;
echo $array[0] + $array[1];
}
# This is how bar shoudl've been implemented in the first place.
function baz($array) {
$temp = $array[0] + 1;
echo $temp + $array[1];
}
# This would also work (passing the array by reference), but has a serious
#side-effect which you may not want, but $array is not copied here.
function foobar(&$array) {
$array[0] += 1;
echo $array[0] + $array[1];
}
總結:
>如果你在一個非常大的數組上工作,并計劃在一個函數內修改它,你實際應該使用一個引用,以防止它被復制,這可能嚴重降低性能,甚至耗盡你的內存限制。>如果它是可以避免的(那是小數組或標量值),我總是使用沒有副作用的函數式方法,因為只要你通過引用傳遞的東西,你永遠不能確定傳遞的變量保持函數調用后,有時可能導致討厭和難以找到的錯誤。> IMHO標量值不應該通過引用傳遞,因為性能影響不能太大,以至于證明代碼中透明度的損失。
總結
以上是生活随笔為你收集整理的php 什么时候传引用,什么时候在PHP中使用传递引用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql shell eof_shel
- 下一篇: 中国和美国在调查民航事故问题方面有哪些相