一.$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...