1. 程式人生 > >php中unset一個變量之後, 通過引用賦值引用這個變量的變量會被unset嗎?

php中unset一個變量之後, 通過引用賦值引用這個變量的變量會被unset嗎?

是否 有著 amp 如果 存在 其他 得到 val 發現

在php中變量的賦值分為按值賦值, 和引用賦值.

在按值賦值中, $a = val; $b = $a ; 可以看成$a = val; $b =val;變量b被賦予a的值之後, a和b便沒有任何的引用關系了, 此時改變其中任意一個值, 另外一個值不會受到影響.

在引用傳值種, $a = val; $b = &$a; 也可以看成$a = val; $b =val; 不過變量a和b還要滿足一個條件就是必須相等, 因為兩個變量有著共同的引用, 當一個值改變時, 另外一個值也跟著改變. 如 在給變量b賦值, $b = val2; 並打印a和b, 發現a, b的值都為val2.

在通過引用賦值的中 $a = val; $b = &$a; 如果通過unset()函數來銷毀a, 並輸出a, b , a變量會提示變量not definded,那麽b變量會得到什麽結果呢?

打印變量b仍然會得到val, 因為unset()在銷毀a時, 會檢查a對應的值是否還存在其他的引用, 如果存在, 則只銷毀變量a不銷毀a對應的值.

php中unset一個變量之後, 通過引用賦值引用這個變量的變量會被unset嗎?