1. 程式人生 > >php中的傳值賦值,引用賦值

php中的傳值賦值,引用賦值

  1:

$a=3;

$b=5;

$b=$a

這一步發生了什麼,把$a的值拿出來,放到$b的空間裡

就是把$a的值傳遞給$b,叫做傳值賦值

echo $b;  //3

2:

引用賦值

$a=3;$b=5;

$a=&$b;

echo $a,'~'$b;  //5 5

為什麼是 5 5 發生了什麼  過程是 把$a的指向指向了$b的地址空間,即$a,$b指向同一個地址,兩把鑰匙,指向同一個房間

認真看下一題

$b=9;

$a=&$b;

unset $b;

echo $b;  ?? 

會是多少?   答案是9,為什麼

原因很簡單,因為$a$b 兩個變數指向同一個地址   $b銷燬,$a沒有被銷燬  

變數有一個機制,當某段地址存的值,有一個變數指向它的時候,就不會被回收

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

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

unset($b);

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

答:不會,因為還有一個人坐在桌子前。

如果,你再把李四,已給unset掉,那麼桌子才以真正清掉.