傳值,
是把實參的值賦值給行參
那麼對行參的修改,不會影響實參的值
傳位址是傳值的一種特殊方式,只是他傳遞的是位址,不是普通的如int
那麼傳位址以後,實參和行參都指向同乙個物件
傳引用真正的以位址的方式傳遞引數
傳遞以後,行參和實參都是同乙個物件,只是他們名字不同而已
對行參的修改將影響實參的值
$a = "123";$b = &$a;
echo $a."-".$b; // 輸出:123-123
echo "
"; $b = "456465"; // 輸出:456465-456465
echo $a."-".$b;
// 結論 :
// php 傳引用時 形參 發聲改變的時候 實參也發生改變;
僅討論一下值傳遞和引用:
所謂值傳遞,就是說僅將物件的值傳遞給目標物件,就相當於copy;系統將為目標物件重新開闢乙個完全相同的記憶體空間。
所謂引用,就是說將物件在記憶體中的位址傳遞給目標物件,就相當於使目標物件和原始物件對應同乙個記憶體儲存空間。此時,如果對目標物件進行修改,記憶體中的資料也會改變。
PHP傳值和傳引用 傳位址的區別
php傳值和傳引用 傳位址的區別是什麼?傳值 是把實參的值賦值給形參,那麼對形參的修改,不會影響實參的值 是傳值的一種特殊方式,只是他傳遞的是位址,不是普通的如int 那麼傳位址以後,實參和形參都指向同乙個物件 傳引用 真正的以位址的方式傳遞引數 傳遞以後,形參和實參都是同乙個物件,只是他們名字不同...
php傳值,傳位址,傳引用的區別
傳值,是把實參的值賦值給行參 那麼對行參的修改,不會影響實參的值 傳位址是傳值的一種特殊方式,只是他傳遞的是位址,不是普通的如int 那麼傳位址以後,實參和行參都指向同乙個物件 傳引用真正的以位址的方式傳遞引數 傳遞以後,行參和實參都是同乙個物件,只是他們名字不同而已 對行參的修改將影響實參的值 a...
傳值 傳位址 傳引用 的區別
傳值 傳位址 傳引用 1 傳值 優點 函式的 不會影響外部的實參 可讀性較高 缺點 傳參效率低 不能通過形參改變實參 對實參有保護作用 void swap int x,int y 2 傳位址 優點 傳參效率高 傳位址只需要4個位元組 確定 傳值變數大小不確定,有可能佔很大空間 可以通過形參改變實參 ...