php傳值與傳引用有什麼差別

王林
發布: 2023-03-07 13:54:02
原創
5764 人瀏覽過

php傳值與傳引用的差異是:傳值在函數範圍內,改變變數值的大小不會影響到函數外的變數值;傳引用在函數範圍內,對值的任何改變在函數外也有所體現,傳引用傳的是記憶體位址。

php傳值與傳引用有什麼差別

區別:

php傳值:在函數範圍內,改變變數值的大小,都不會影響到函數外邊​​的變量值。

PHP傳引用:在函數範圍內,對值的任何改變,在函數外部也有所體現,因為傳引用傳的是記憶體位址。

(學習影片推薦:java影片教學

傳值:和copy是一樣的。打個比方,我有一橦房子,我給你建築材料,你建了一個根我的房子一模一樣的房子,你在你的房子做什麼事都不會影響到我,我在我的房子裡做什麼事情也不會影響到你,彼此獨立。

<?php
$testa=1;        //定义变量a
$testb=2;        //定义变量b
$testb = $testa;    //变量a赋值给变量b
echo $testb;      //显示为1
?>
登入後複製

傳引用:類似C語言的指標了,感覺差不多。打個比方,我有一橦房子,我給你一把鑰匙,我們二個都可以進入這個房子,你在房子裡做什麼都會影響我。

<?php
$param2=1;        //定义变量2
$param1 = &$param2;   //将变量2的引用传给变量1
echo $param2;      //显示为1
$param1 = 2;       //把2赋值给变量1
echo $param2;      //显示为2
?>
登入後複製

【優缺點:】傳值會很耗時間,特別是對於大型的字串和物件來說,這將會是一個代價很大的操作,傳送引用,函數內的任何操作等同於對傳送變數的操作,傳送大型變數時效率高!

相關推薦:php培訓

以上是php傳值與傳引用有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板