本文目錄一覽:
請說明php中傳值與傳引用的區別.什麼時候傳值什麼
傳值,
是把實參的值賦值給行參
那麼對行參的修改,不會影響實參的值
傳引用
真正的以地址的方式傳遞參數
傳遞以後,行參和實參都是同一個對象,只是他們名字不同而已
對行參的修改將影響實參的值
所謂值傳遞,就是說僅將對象的值傳遞給目標對象,就相當於copy;系統將為目標對象重新開闢一個完全相同的內存空間。
所謂引用,就是說將對象在內存中的地址傳遞給目標對象,就相當於使目標對象和原始對象對應同一個內存存儲空間。此時,如果對目標對象進行修改,內存中的數據也會改變。
說明php中傳值與傳引用的區別,並說明傳值什麼時候傳引用
按值傳遞:函數範圍內對值的任何改變在函數外部都會被忽略
按引用傳遞:函數範圍內對值的任何改變在函數外部也能反映出這些修改
優缺點:按值傳遞時,php必須複製值。特別是對於大型的字元串和對象來說,這將會是一個代價很大的操作。
按引用傳遞則不需要複製值,對於性能提高很有好處。
php值傳遞和引用傳遞
值傳遞是將右邊變數的數據值本身,拷貝一份,賦值給左邊變數。
例如:
可見:值傳遞之後,兩個變數互不影響,相互獨立,沒有關係了,各自有各自的存放空間,改變一個,另一個不受影響。
原理如下:
引用傳遞是將右邊變數對數據的引用關係,傳給左邊的變數
原理如下:
引用傳遞,後一個變數的值,會隨著前一個變數的值的改變而改變。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/153279.html