PHP 傳值和傳引用、傳地址的區別


   傳值,
   是把實參的值賦值給行參
   那么對行參的修改,不會影響實參的值

   傳地址
   是傳值的一種特殊方式,只是他傳遞的是地址,不是普通的如int
   那么傳地址以后,實參和行參都指向同一個對象

   傳引用
   真正的以地址的方式傳遞參數
   傳遞以后,行參和實參都是同一個對象,只是他們名字不同而已
   對行參的修改將影響實參的值  

  $a = "123";
  $b = &$a;
  echo $a."-".$b; // 輸出:123-123
  echo "<br/>";
  $b = "456465"; // 輸出:456465-456465
  echo $a."-".$b;

  // 結論 :
  // PHP 傳引用時 形參 發聲改變的時候 實參也發生改變;

 

 

 

僅討論一下值傳遞和引用:
   所謂值傳遞,就是說僅將對象的值傳遞給目標對象,就相當於copy;系統將為目標對象重新開辟一個完全相同的內存空間。
   所謂引用,就是說將對象在內存中的地址傳遞給目標對象,就相當於使目標對象和原始對象對應同一個內存存儲空間。此時,如果對目標對象進行修改,內存中的數據也會改變。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM