我从来没有见过有人在使用unset,我想知道是否可以节省一些东西,或者它是否完全浪费时间和代码?
<?php
$message = "Line 1\r\nLine 2\r\nLine 3";
mail('admin@example.com', 'My Subject', $message);
/* IS THERE ANY REASON TO UNSET $message ? */
unset($message);
?>
Run Code Online (Sandbox Code Playgroud)
这取决于.
如果您正在开发一个长期运行的守护程序或作业,unset()可以用来将内存保持在合理的范围内:以帮助防止泄漏.
如果您正在为Web应用程序开发页面/脚本,unset()则对内存管理不是非常有用.
在任何一种情况下,如果你依赖arrays并且你需要删除一个值,它会很有用.一个愚蠢的例子,也许......但考虑这样的事情:
$users = getUsers($someCondition);
foreach ($users as $k => $v) {
unset($users[$k]['password_hash']);
}
print json_encode($users);
Run Code Online (Sandbox Code Playgroud)
在您给出的具体示例中,它没用:
<?php
$message = "Line 1\r\nLine 2\r\nLine 3";
mail('admin@example.com', 'My Subject', $message);
// PHP is about to clean everything up anyway ... don't bother doing this:
unset($message);
?>
Run Code Online (Sandbox Code Playgroud)
通过引用传递 foreach 时$value,$value循环完成后仍在范围内。停止这种疯狂unset()。
foreach($array as &$value)
{
$value = "something else"
}
var_dump($value);
// string(5) "thing"
unset($value);
var_dump($value);
// Notice: Undefined variable: value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
416 次 |
| 最近记录: |