假设我使用stream
资源类型打开文件:
$file = fopen('1.txt', 'w+');
如果我想破坏资源,我会打电话给fclose()
:
fclose($file);
但我认为fclose()
只会破坏资源而不是变量本身,我知道这是因为当我执行以下操作时:
<?php
$file = fopen('1.txt', 'w+');
fclose($file);
xdebug_debug_zval('file');
?>
我得到以下结果:
file:
(refcount=1, is_ref=0),resource(3, Unknown)
这意味着变量仍然存在于内存中。
在调用unset($file)
来销毁变量后,我应该调用fclose($file)
吗?
答案 0 :(得分:1)
在调用fclose($ file)来销毁变量后,我应该调用unset($ file)吗?
在我看来,不,你不应该在unset
之后fclose
。
原因如下:
当然有一些案例unset
有意义或需要。
我发现a nice read关于unset(),你可以在那里了解更多信息。