首頁 >後端開發 >php教程 >php變數的賦值:值傳遞和引用傳遞的區別

php變數的賦值:值傳遞和引用傳遞的區別

怪我咯
怪我咯原創
2017-05-04 11:39:483897瀏覽

變數指的就是在程式執行過程中數值可以變化的量,它是用來保存一個值,好方便我們來調用,但是php給變數賦值的方法有兩種:值傳遞和引用傳遞,這兩種給變數賦值的方法是有所不同的,本章,就帶領大家了解一下:值傳遞和引用傳遞的區別

##首先我們先來看看值傳遞:

值傳遞的方式為變數賦值,是最常用的方式,也是預設的方式。下面用範例來說明:

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "值传递的方式";
echo "<hr/>";
$var1= "PHP";
$var2=$var1;
echo $var1."<hr/>";
echo $var2;
?>

程式碼執行結果:

php變數的賦值:值傳遞和引用傳遞的區別

#從上面的範例可以看到值傳遞是將目前變數的值傳遞給另一個變量,相當於做了一個複製操作,兩個變數相互之間是獨立的,如果我們改變其中一個變數的值,另一個值是不會有變化的,看下面的例子

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "值传递的方式";
echo "<hr/>";
$var1= "PHP";
$var2=$var1;
echo $var1."<hr/>";
echo $var2."<hr/>";

echo "<p>改变其中一个变量的值,另一个不会有变化</p>";
$var2="HTML";

echo $var1."<hr/>";
echo $var2."<hr/>";
?>

程式碼運行結果:

php變數的賦值:值傳遞和引用傳遞的區別

下面我們來看看引用傳遞

引用賦值使用「&」來表示引用。使用引用賦值如果改變其中一個變數的值,另一個也會改變。

範例

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "引用传递的方式";
echo "<hr/>";
$var1= "PHP中文网";
$var2=&$var1;
echo $var1."<br/>";
echo $var2."<br/>";
?>

程式碼執行結果:

php變數的賦值:值傳遞和引用傳遞的區別

#這時兩個變數是沒有什麼變化的,但是如果我們改變其中一個值呢?

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "引用传递的方式";
echo "<hr/>";
$var1= "PHP中文网";
$var2=&$var1;
echo $var1."<br/>";
echo $var2."<br/>";

echo "<p>使用引用传递的方式改变其中一个变量的值</p>";
$var2="HTML";

echo $var1."<br/>";
echo $var2."<br/>";
?>

程式碼執行結果:

php變數的賦值:值傳遞和引用傳遞的區別

使用引用傳遞的方式給變數賦值,如果改變其中一個變數的值,另一個變數也會改變。

總結

透過上面的一些實例我們可以總結出

值傳遞和引用傳遞的區別在於:#值傳遞是將原始變數內容複製下來,再用一個新的記憶體空間來保存,兩個變數之間相互獨立,而引用傳遞相當於給當前變數起了一個別名,實際上這兩個變數引用的是一個值。相當於給一個變數取了兩個名字

【相關推薦】

#相關影片教學推薦:

變數的賦值:值傳遞與引用傳遞的差異

以上是php變數的賦值:值傳遞和引用傳遞的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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