首頁 >後端開發 >PHP問題 >php引用和拷貝的區別

php引用和拷貝的區別

王林
王林原創
2019-09-23 13:14:303356瀏覽

php引用和拷貝的區別

對於值傳遞和引用傳遞,書本上的解釋比較繁瑣,而php面試總是會出現,下面我會透​​過一個生活的例子帶大家理解它們之間差異。

第一步 

假設我們去飯店訂房間,我們把飯店的門牌號碼比喻成變數名,我們把房間裡住人數當作這個變數名賦值的過程

<?php
$k1=2;//$k1号房间住了2个人
$k2=$k1;//恰巧今天$k1号房间维修,把$k1号房间的人放到$k2房间里面
$k1=10;//假设$k1维修好了,又住进10个人,那么这就是值传递。
echo  "$k1号房间:".$k1."个人";//10
echo  "$k2号房间:".$k2."个人";//1
?>

值傳遞的特性:

#1、值相等 

##也就是$k1給$k2房間裡的人是相等的。

2、相互獨立、互不影響 

這就是說,我$k1房間來多少客人和$k2房間客人來多少客人是互相不影響的。這就叫:"道不同不相為謀"。

第二步 

上面為例假設我們$k1這個房間被維修工掛上兩個門牌號碼$k1和$k2來理解

<?php
$k1=2;//$k1号房间住了2个人
$k2=&$k1;//恰巧今天$k1号房间挂上"$k1"和“$k2”两个门牌号
$k1=10;//假设$k1又住进10个人,那么这就是引用传递。
echo  "$k1号房间:".$k1."个人";//10
echo  "$k2号房间:".$k2."个人";//10因为门牌$k1房间的客人就是门牌$k2里面的客人
?>

引用傳遞的特點:

互相影響,也就是說$k1中來多少客人,$k2就是顯示多少客人,這就叫"拴在一條繩上的蚱蜢"。

區別

1、使用上的差異

值傳遞的符號是=

#引用傳遞符號是&

2、意義上的區別

值傳遞是變數傳遞是互不影響的,而引用傳遞則是兩個變數指向同一空間相互影響的。

推薦教學:

PHP影片教學#

以上是php引用和拷貝的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn