今天由源碼時代PHP培訓學科老師給你們分享技術:在PHP中的傳值賦值和引用賦值詳解!快來學習下~php
PHP變量間的賦值方式html
將a變量的值賦值給b變量有兩種賦值方式:數組
1.傳值賦值學習
2.引用賦值htm
一、傳值賦值three
傳值賦值是將變量的值複製出一份新的值(值是同樣的),只是在內存中出現兩份不一樣的內存空間。將新值內存空間地址賦值給新的變量名字。修改兩個變量的值時還不影響。內存
例如:將$a變量的值複製出一份存放到$b變量中.ci
由於他們各自指向本身的內存區域.get
二、引用賦值源碼
引用賦值是將變量的引用複製出來一份(新的引用仍是指向原來的值)。
語法:
將$a變量引用複製出一份做爲$b變量的引用. 兩個變量的引用指向同一個內存空間.
經過&符號表示在賦值過程值使用引用賦值.
修改$a,$b的值都是修改值空間. 會相互影響兩個變量的值.
三、默認的傳值方式
在PHP中每種數據類型默認的傳值方式不同:
四、數組賦值
數組賦值很是特殊,它存在着寫複製機制。
以上代碼是引用賦值,由於默認狀況下引用賦值,會將arr1的引用賦值給arr2變量,arr1和arr2兩個變量指向同一個內存空間["張三","王五","趙六"]
當修改其中一個變量的值就會複製出新的內存,而後再新的內存中修改,從而將修改的變量指向新的內存 。
五、選擇哪一種賦值方式呢?
若是變量a指向的內存存儲大量數據,將變量a賦值給變量b,建議使用地址賦值,這樣能夠節約內存的使用率. 但b變量值的改變就會影響到a.
本文由源碼時代php培訓學科老師原創,轉載需註明出處!