各位PHPer,大家好!今天小白請教PHP中unset()函數在何時使用才是正確的?大伙都知道unset是取消賦值,比如$aa="asdfasdf";echo $aa; //得到的結果是asdfasdfunset $aa;echo $aa; //得到的結果是空它的用法到是知道小白疑惑的就是在那些情況下應該使用unset()函數?小白先謝謝給位大神啦,o(∩∩)o...哈哈,^_^
2 回答

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
unset是用來取消一個變量,釋放這個名稱的. 應用的場景真的不算太多,因為PHP沒有釋放資源的需求,PHP進程只會存在很短時間.
我覺得應用在數組上的情況要多一點,用來刪去數組中一個元素. 比如,為了把一個用戶的信息插入數據庫,我定義了這么一個數組:
$user = ["name" => "xxoo", "passwd" => "4d5c01842f37d", "email" => "[email protected]"];$db->insert($user);
然后我還希望把這一條數據插入到日志中,但我又不希望在日志中保存密碼,這時我只需要:
unset($user["passwd"]);$log->append($user);

郎朗坤
TA貢獻1921條經驗 獲得超9個贊
由于php的資源自動回收機制,當頁面執行完畢后,會自動釋放所占用過的內存,所以在銷毀變量釋放內存這方面,一般用的不是太多。
但當較大的數組等變量較多時,在之后沒再用到的情況下,可以unset掉以便釋放內存。尤其是在可用內存比較緊張的時候。
另外要注意的是,
unset在函數中只能銷毀局部變量。如果在程序中需要用到銷毀全局變量的應該如何做呢?也很簡單,用$GLOBALS數組來實現即可。
- 2 回答
- 0 關注
- 174 瀏覽
添加回答
舉報
0/150
提交
取消