首頁  >  文章  >  後端開發  >  php什麼時候傳值或傳引用?

php什麼時候傳值或傳引用?

藏色散人
藏色散人原創
2019-05-22 10:34:225396瀏覽

變數預設總是傳值賦值。那也就是說,當將一個表達式的值賦予一個變數時,整個原始表達式的值被賦值到目標變數。這意味著,例如,當一個變數的值賦予另一個變數時,改變其中一個變數的值,將不會影響到另一個變數。

php什麼時候傳值或傳引用?

PHP也提供了另一種方式來給變數賦值:引用賦值。這意味著新的變數簡單的引用(換言之,“成為其別名” 或 “指向”)了原始變數。改動新的變數將影響到原始變量,反之亦然。使用引用賦值,簡單地將一個 & 符號加到將要賦值的變數前(來源變數)。

物件預設是傳引用。對於較大的數據,傳引用比較好,這樣可以節省記憶體的開銷。

註:

按值傳遞:函數內對值的任何改變在函數外部都會被忽略。

引用傳遞:函數內對值的任何改變在函數外部也能反映出這些修改。

套用場景:按值傳遞時,php必須複製值,而按引用傳遞則不需要複製值,故引用傳遞一般用於大字串或物件。

優缺點: 

按值傳遞時,php必須複製值。對於大型字串和物件來說,這樣做代價很大。按引用傳遞則不需要複製值,對於效能提高有好處。

以上是php什麼時候傳值或傳引用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn