php中傳值與傳引用的區別是什麼

2022-03-25 00:28:33 字數 856 閱讀 1892

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

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

1

<?php

2$testa=1; //

定義變數a

3$testb=2; //

定義變數b

4$testb = $testa; //

變數a賦值給變數b

5echo

$testb; //

顯示為1

6 ?>

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

1

<?php

2$param2=1; //

定義變數2

3$param1 = &$param2; //

將變數2的引用傳給變數1

4echo

$param2; //

顯示為1

5$param1 = 2; //

把2賦值給變數1

6echo

$param2; //

顯示為2

7 ?>

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

php中傳值與傳引用的區別

1,傳值 param1 1 定義變數1 param2 2 定義變數2 param2 param1 變數1賦值給變數2 echo param2 顯示為1 2,傳引用 param2 1 定義變數2 param1 param2 將變數2的引用傳給變數1 echo param2 顯示為1 param1 2 ...

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

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

php中 傳值 和 傳引 用的區別

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