引用賦值 和傳值賦值

2021-08-07 02:16:28 字數 958 閱讀 4120

一.$a=3   $b=5

/如果是新手的話,可能會對這個'='號產生誤會,  這個等號 就是賦值用的.

$b=$a;

//$b = $a ;

//發生了什麼?   把$b的值讀出來,再把值放到$b的空間裡,即 賦值給$b;

//就是把$b的值,傳遞給$a,因此叫傳值賦值.

echo $a; //5

//在這個過程中,僅僅參考了乙個$b的值,然後,把$b的值,複製乙份到a的空間裡去了

//之後,$a,$b,兩者之間還是沒有關係,因為$a  $b的值還是放在了各自的空間裡

二. $a=3   $b = 5  ;

//下面這行**

//把$a這把鑰匙的指向,指向了$b的位址.

//即:$a , $b   指向同乙個位址

//就像,兩把鑰匙指向了同乙個房間

$a   = &$b;

echo  $a .$b // 5 5 ;

$b = 9;

echo $a , $b // 99;

//----------------------------------看看下面的問題------------------------------------//

unset($b);

echo  $a;//9

原因很簡單

因為有$a,$b連個變數指向了同一位址,

$b銷毀了,$a沒有銷毀

變數有乙個機制,當某段位址存的值,有乙個變數在指向他的時候,就不會被**.(這也是簡單的**機制)

張三===>[飯桌]<===李四

張三,轉一下桌子,在李四看來,桌子的盤子的盤子也變了,  $a,$b值,一改全改

unset($b);

張三 人走了,但是李四還沒有走,服務員是否會去清理桌子嗎?

答案:不會的,因為還有李四坐在桌子前

如果,李四走了,也給unset()掉,那麼桌子上的飯菜才能真正的清掉

php傳值賦值和傳位址賦值

name simon 對變數 name進行賦值 傳值賦值 name b name 對變數 name b進行賦值 傳值賦值 addr name 對變數 addr進行賦值 傳位址賦值 name elaine 改變 name的值 echo name 輸出 name,會發現 name的值發生了變化 echo...

詳解PHP變數傳值賦值和引用賦值變數銷毀

b 200 var dump a,b int 100 int 200 php中,上面的 變數是怎麼存放的呢?上面的 變動下,將變數b賦值給變數a,會發生什麼?b 200 a b 多了這個 var dump a,b int 200 int 200 問題來了,a b,那麼是將變數a的指標指向了變數b指標...

php傳值賦值和傳位址賦值用法例項分析

name b na程式設計客棧me 對變數 name b進行賦值 傳值賦值 addr name 對變數 addr進行賦值 傳位址賦值 name elaine 改變 nahfzwmvwme的值 echo name 輸出 namwww.cppcns.come,會發現 name的值發生了變化 echo n...