php引用和拷貝的區(qū)別知識點(diǎn)總結(jié)
對于值傳遞和引用傳遞,書本上的解釋比較繁瑣,而php面試中總會出現(xiàn),下面我會通過一個(gè)生活的例子帶大家理解它們之間區(qū)別。
第一步
假設(shè)我們?nèi)ゾ频暧喎块g,我們把酒店的門牌號比作變量名,我們把房間里住人數(shù)當(dāng)做給這個(gè)變量名賦值的過程
<?php $k1=2;//$k1號房間住了2個(gè)人 $k2=$k1;//恰巧今天$k1號房間維修,把$k1號房間的人放到$k2房間里面 $k1=10;//假設(shè)$k1維修好了,又住進(jìn)10個(gè)人,那么這就是值傳遞。 echo "$k1號房間:".$k1."個(gè)人";//10 echo "$k2號房間:".$k2."個(gè)人";//1 ?>
值傳遞的特點(diǎn):
1、值相等
也就是$k1給$k2房間里的人是相等的。
2、相互獨(dú)立、互不影響
這就是說,我$k1房間來多少客人和$k2房間客人來多少客人是互相不影響的。這就叫:"道不同不相為謀"。
第二步
以上面為例 假設(shè)我們$k1這個(gè)房間被維修工掛上兩個(gè)門牌號$k1和$k2來理解
<?php $k1=2;//$k1號房間住了2個(gè)人 $k2=&$k1;//恰巧今天$k1號房間掛上"$k1"和“$k2”兩個(gè)門牌號 $k1=10;//假設(shè)$k1又住進(jìn)10個(gè)人,那么這就是引用傳遞。 echo "$k1號房間:".$k1."個(gè)人";//10 echo "$k2號房間:".$k2."個(gè)人";//10因?yàn)殚T牌$k1房間的客人就是門牌$k2里面的客人 ?>
引用傳遞的特點(diǎn):
相互影響,也就是說$k1中來多少客人,$k2就是顯示多少客人,這就叫"拴在一條繩上的螞蚱"。
區(qū)別
1、使用上的區(qū)別
值傳遞的符號是=
引用傳遞符號是&
2、意義上的區(qū)別
值傳遞是變量傳遞是互不影響的,而引用傳遞則是兩個(gè)變量指向同一空間相互影響的。
以上就是php引用和拷貝的區(qū)別的詳細(xì)內(nèi)容,感謝大家的學(xué)習(xí)和對腳本之家的支持。
相關(guān)文章
PHP動(dòng)態(tài)頁生成靜態(tài)頁的3種常用方法
這篇文章主要介紹了PHP動(dòng)態(tài)頁生成靜態(tài)頁的3種常用方法,通過三種不同的方法從不同的角度實(shí)現(xiàn)這一功能,有很好的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11
PHP基于數(shù)組實(shí)現(xiàn)的堆棧和隊(duì)列功能示例
這篇文章主要介紹了PHP基于數(shù)組實(shí)現(xiàn)的堆棧和隊(duì)列功能,結(jié)合實(shí)例形式分析了php基于數(shù)組的array_push()、array_pop()、array_shift()等函數(shù)實(shí)現(xiàn)堆棧與隊(duì)列的入棧、出棧以及隊(duì)列的添加、刪除等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
PHP入門教程之自定義函數(shù)用法詳解(創(chuàng)建,調(diào)用,變量,參數(shù),返回值等)
這篇文章主要介紹了PHP入門教程之自定義函數(shù)用法,結(jié)合實(shí)例形式分析了php關(guān)于自定義函數(shù)的創(chuàng)建、返回值、參數(shù)、調(diào)用方法以及全局變量、魔法常量的使用等相關(guān)技巧,需要的朋友可以參考下2016-09-09
PHP手機(jī)號碼歸屬地查詢代碼(API接口/mysql)
本文來介紹一下關(guān)于手機(jī)號碼歸屬地實(shí)現(xiàn)方法,我們可以利用api接口與mysql+php來實(shí)例有需要的同學(xué)看看2012-09-09
php用戶注冊時(shí)常用的檢驗(yàn)函數(shù)實(shí)例總結(jié)
這篇文章主要介紹了php用戶注冊時(shí)常用的檢驗(yàn)函數(shù),以類的形式實(shí)例總結(jié)了用戶名驗(yàn)證、郵箱驗(yàn)證、QQ驗(yàn)證等常用的驗(yàn)證技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12

