對于值傳遞和引用傳遞,書本上的解釋比較繁瑣,而php面試中總會出現(xiàn),下面我會通過一個生活的例子帶大家理解它們之間區(qū)別。
第一步
假設(shè)我們?nèi)ゾ频暧喎块g,我們把酒店的門牌號比作變量名,我們把房間里住人數(shù)當做給這個變量名賦值的過程
?php
$k1=2;//$k1號房間住了2個人
$k2=$k1;//恰巧今天$k1號房間維修,把$k1號房間的人放到$k2房間里面
$k1=10;//假設(shè)$k1維修好了,又住進10個人,那么這就是值傳遞。
echo "$k1號房間:".$k1."個人";//10
echo "$k2號房間:".$k2."個人";//1
?>
值傳遞的特點:
1、值相等
也就是$k1給$k2房間里的人是相等的。
2、相互獨立、互不影響
這就是說,我$k1房間來多少客人和$k2房間客人來多少客人是互相不影響的。這就叫:"道不同不相為謀"。
第二步
以上面為例 假設(shè)我們$k1這個房間被維修工掛上兩個門牌號$k1和$k2來理解
?php
$k1=2;//$k1號房間住了2個人
$k2=$k1;//恰巧今天$k1號房間掛上"$k1"和“$k2”兩個門牌號
$k1=10;//假設(shè)$k1又住進10個人,那么這就是引用傳遞。
echo "$k1號房間:".$k1."個人";//10
echo "$k2號房間:".$k2."個人";//10因為門牌$k1房間的客人就是門牌$k2里面的客人
?>
引用傳遞的特點:
相互影響,也就是說$k1中來多少客人,$k2就是顯示多少客人,這就叫"拴在一條繩上的螞蚱"。
區(qū)別
1、使用上的區(qū)別
值傳遞的符號是=
引用傳遞符號是
2、意義上的區(qū)別
值傳遞是變量傳遞是互不影響的,而引用傳遞則是兩個變量指向同一空間相互影響的。
以上就是php引用和拷貝的區(qū)別的詳細內(nèi)容,感謝大家的學(xué)習和對腳本之家的支持。
您可能感興趣的文章:- PHP 引用的概念
- 詳解PHP的引用計數(shù)
- php的對象傳值與引用傳值代碼實例講解
- php傳值和傳引用的區(qū)別點總結(jié)
- php 多個變量指向同一個引用($b = &$a)用法分析
- php中對象引用和復(fù)制實例分析
- PHP實現(xiàn)無限極分類的兩種方式示例【遞歸和引用方式】
- PHP中引用類型和值類型功能與用法示例
- PHP 弱引用的相關(guān)總結(jié)