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

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

May 04, 2017 am 11:39 AM

變數指的就是在程式執行過程中數值可以變化的量,它是用來保存一個值,好方便我們來調用,但是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

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

deepseek r1版本和v3版本有什麼區別 deepseek r1版本和v3版本有什麼區別 Feb 19, 2025 pm 03:24 PM

deepseek r1版本和v3版本有什麼區別

DeepSeek使用常見問題匯總 DeepSeek使用常見問題匯總 Feb 19, 2025 pm 03:45 PM

DeepSeek使用常見問題匯總

比特幣有沒有股票?比特幣有股權嗎? 比特幣有沒有股票?比特幣有股權嗎? Mar 03, 2025 pm 06:42 PM

比特幣有沒有股票?比特幣有股權嗎?

盤前盤後交易有什麼區別?盤前盤後交易區別詳解 盤前盤後交易有什麼區別?盤前盤後交易區別詳解 Mar 03, 2025 pm 11:54 PM

盤前盤後交易有什麼區別?盤前盤後交易區別詳解

為什麼說Bittensor是AI賽道的'比特幣”? 為什麼說Bittensor是AI賽道的'比特幣”? Mar 04, 2025 pm 04:06 PM

為什麼說Bittensor是AI賽道的'比特幣”?

韓國比特幣和國內比特幣有什麼不同嗎? 韓國比特幣和國內比特幣有什麼不同嗎? Mar 05, 2025 pm 06:51 PM

韓國比特幣和國內比特幣有什麼不同嗎?

佩佩大舉買入並拋售,MUTM 是 2025 年更明智的投資嗎? 佩佩大舉買入並拋售,MUTM 是 2025 年更明智的投資嗎? Mar 03, 2025 pm 07:09 PM

佩佩大舉買入並拋售,MUTM 是 2025 年更明智的投資嗎?

垂直代理:加密原生代理的應用場景和顛覆性潛力解讀 垂直代理:加密原生代理的應用場景和顛覆性潛力解讀 Mar 04, 2025 am 10:21 AM

垂直代理:加密原生代理的應用場景和顛覆性潛力解讀

See all articles