请教PHP中关于unset()函数的运用场景
阿神
阿神 2017-04-10 14:26:33
[PHP讨论组]

各位PHPer,大家好!
今天小白请教PHP中unset()函数在何时使用才是正确的?
大伙都知道unset是取消赋值,比如
$aa="asdfasdf";
echo $aa; //得到的结果是asdfasdf
unset $aa;
echo $aa; //得到的结果是空
它的用法到是知道
小白疑惑的就是在那些情况下应该使用unset()函数?
使用unset()函数后,能给程序带来那些好处或者坏处?
小白先谢谢给位大神啦,o(∩∩)o...哈哈,^_^

阿神
阿神

闭关修行中......

全部回复(2)
迷茫

unset是用来取消一个变量,释放这个名称的. 应用的场景真的不算太多,因为PHP没有释放资源的需求,PHP进程只会存在很短时间.

我觉得应用在数组上的情况要多一点,用来删去数组中一个元素. 比如,为了把一个用户的信息插入数据库,我定义了这么一个数组:

$user = ["name" => "xxoo", "passwd" => "4d5c01842f37d", "email" => "xxoo@xo.ox"];
$db->insert($user);

然后我还希望把这一条数据插入到日志中,但我又不希望在日志中保存密码,这时我只需要:

unset($user["passwd"]);
$log->append($user);
天蓬老师

由于php的资源自动回收机制,当页面执行完毕后,会自动释放所占用过的内存,所以在销毁变量释放内存这方面,一般用的不是太多。

但当较大的数组等变量较多时,在之后没再用到的情况下,可以unset掉以便释放内存。尤其是在可用内存比较紧张的时候。

另外要注意的是,

unset在函数中只能销毁局部变量。如果在程序中需要用到销毁全局变量的应该如何做呢?也很简单,用$GLOBALS数组来实现即可。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号