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