主要是實參和形參的相互影響性。
引用傳遞:形參的改變會影響實參
值傳遞:賦值,不相互影響
引數引用傳遞
$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乙份傳遞給形式引數,此時,形參和實參的引用都指向同一儲...