php引用傳遞和值傳遞

2021-08-20 18:50:06 字數 868 閱讀 7662

主要是實參和形參的相互影響性。

引用傳遞:形參的改變會影響實參

值傳遞:賦值,不相互影響

引數引用傳遞

$pams1 = 1;	

function ssr($params)    //這裡的引數的沒有 &

$pams2 = ssr($pams1);

echo '1:'.$pams1; // = 1

echo "

"; echo '2:'.$pams2; // = 4

echo "";

$pams1 = 1;	

function ssr(&$params)    //這裡的引數有 &

$pams2 = ssr($pams1);

echo '1:'.$pams1; // = 4

echo "

"; echo '2:'.$pams2; // = 4

echo "";

引用傳遞的結果會因為引用的引數的改變而改變

函式引用傳遞

$a = 1;

function &func(&$a)

$b = func($a); // 這裡不是函式引用傳遞

$c = &func($a); // 這是函式引用傳遞

$b = 2;

echo "a: $a, b: $b, c: $c.

"; //輸出a: 1, b: 2, c: 1.

//可見對$b的修改不會影響$a

$c = 3;

echo "a: $a, b: $b, c: $c.

"; //輸出a: 3, b: 2, c: 3.

//可見對$c的修改會影響$a

php 值傳遞和引用傳遞

a 3 b 4 引用傳遞 加 賦值後 全域性變數隨之改變稱為 引用傳遞 引用傳遞 不加 賦值後 區域性方法裡面變數會生成乙個值代替他 我們簡稱為 tmp 在方法裡面運算 然後返回給這個值 所以真實的數值沒有改變 function change c change a echo a echo 但是物件本...

值傳遞和引用傳遞

幾乎每種語言都有值傳遞和引用傳遞.下面是我的一些曲解,只講現象,不涉及到任何的原理,主要是鬧著玩的.a 新交了個女朋友b.有一天他女朋友b看見a在吃冰激凌,b想吃,但是a是個 座有點小潔癖,不想讓b吃,於是給b買了個新的冰激凌說你吃這個吧,別碰我嘴裡這個.這就是值傳遞.a和b的值沒有任何關係,他們一...

值傳遞和引用傳遞

1.什麼是值傳遞和引用傳遞 值傳遞 方法呼叫時,實際引數的值copy乙份傳遞給形式引數,此時,有兩個相等的數值分別儲存於不同的記憶體位址上,因此,後面的方法中都是對形參位址上的數值進行修改。引用傳遞 方法呼叫時,實際引數的值 也就是位址 copy乙份傳遞給形式引數,此時,形參和實參的引用都指向同一儲...