引用和拷貝的區(qū)別 php中傳值與傳引用的區(qū)別。什么時候傳值什么時候傳引用?
php中傳值與傳引用的區(qū)別。什么時候傳值什么時候傳引用?要傳輸值,需要重建原始參數(shù)的副本。要傳遞引用,不需要傳遞值。參數(shù)的修改不會改變原始參數(shù)。傳遞引用時,可以直接修改原始參數(shù)。至于何時轉(zhuǎn)介,則視乎你
php中傳值與傳引用的區(qū)別。什么時候傳值什么時候傳引用?
要傳輸值,需要重建原始參數(shù)的副本。要傳遞引用,不需要傳遞值。參數(shù)的修改不會改變原始參數(shù)。傳遞引用時,可以直接修改原始參數(shù)。至于何時轉(zhuǎn)介,則視乎你的需要而定。如果參數(shù)對象很大(占用大量內(nèi)存),并且函數(shù)本身不需要修改原始對象,建議此時傳遞引用,這樣可以節(jié)省構(gòu)造臨時對象的開銷。如果需要實(shí)際修改原始參數(shù),則只能傳遞引用。
請說明php中傳值與傳引用的區(qū)別.什么時候傳值什么?
值傳遞是將實(shí)際參數(shù)的值賦給行參數(shù),因此行參數(shù)的修改不會影響實(shí)際參數(shù)的值傳遞引用。參數(shù)傳遞后,行參數(shù)和實(shí)際參數(shù)是同一個對象,但名稱不同。行參數(shù)的修改將影響實(shí)際參數(shù)的值。所謂價值轉(zhuǎn)移,就是只把對象的價值轉(zhuǎn)移到目標(biāo)對象上,相當(dāng)于復(fù)制;系統(tǒng)會為目標(biāo)對象重新打開一個相同的內(nèi)存空間。所謂引用,就是將內(nèi)存中對象的地址傳遞給目標(biāo)對象,相當(dāng)于使目標(biāo)對象和原始對象對應(yīng)于同一個內(nèi)存存儲空間。此時,如果修改了目標(biāo)對象,內(nèi)存中的數(shù)據(jù)也會發(fā)生變化。