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

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

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