php中傳值和傳引用的區別?

2021-08-28 05:49:44 字數 396 閱讀 3687

之前也有理解過傳值和傳引用的不同,但是好腦袋不如個爛筆頭,還是記錄下來分享下來沒事多看看吧傳值的話

如果是非物件,會傳乙個值的拷貝,對這個變數做任何改動都不影響原值。 傳引用或者傳物件,是傳真實的記憶體位址,對這個變數做的改動會影響原值。

不多說看**好理解呢

function func1($a) 

function func2(&$a)

$sample = 2;

func1($sample);

echo $sample; // 輸出 2

$sample = 2;

func2($sample);

echo $sample; // 輸出 3

php中 傳值 和 傳引 用的區別

傳值 是把實參的值賦值給行參 那麼對行參的修改,不會影響實參的值 傳位址 是傳值的一種特殊方式,只是他傳遞的是位址,不是普通的如int 那麼傳位址以後,實參和行參都指向同乙個物件 b a b的位址指向 a的位址,兩者指向同乙個物件傳引用 真正以位址的方式傳遞引數後,行參和實參都是同乙個物件,只是他們...

PHP的傳值與引用,php傳值和傳引用區別

php傳值 在函式範圍內,改變變數值得大小,都不不會影響到函式外邊的變數值。testa 1 定義變數a testb 2 定義變數b testb testa 變數a賦值給變數b echo testb 顯示為1 傳引用 類似於c語言的指標了,感覺差不多。打個比方,我有一橦房子,我給你一把鑰匙,我們二個都...

PHP 傳值和傳引用 傳位址的區別

傳值,是把實參的值賦值給行參 那麼對行參的修改,不會影響實參的值 傳位址是傳值的一種特殊方式,只是他傳遞的是位址,不是普通的如int 那麼傳位址以後,實參和行參都指向同乙個物件 傳引用真正的以位址的方式傳遞引數 傳遞以後,行參和實參都是同乙個物件,只是他們名字不同而已 對行參的修改將影響實參的值 a...