如何通过unset函数销毁变量并彻底释放内存?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1011个文字,预计阅读时间需要5分钟。
PHP的`unset()`函数用于清除、销毁变量。对于不再使用的变量,我们可以用`unset()`将其销毁。但有时使用`unset()`却无法释放变量占用的内存!例如:`$s=str_repeat('1', 255); // 产生大量数据`
PHP的unset()函数用来清除、销毁变量,不用的变量,我们可以用unset()将它销毁。但是某些时候,用unset()却无法达到销毁变量占用的内存!
我们先看一个例子:
<?php $s = str_repeat('1',255); //产生由255个1组成的字符串 $m = memory_get_usage(); //获取当前占用内存 unset($s); $mm = memory_get_usage(); //unset()后再查看当前占用内存 echo $m-$mm; ?>
最后输出unset()之前占用内存减去unset()之后占用内存,如果是正数,那么说明unset($s)已经将$s从内存中销毁(或者 说,unset()之后内存占用减少了),可是我在PHP5和windows平台下,得到的结果是:-48。
本文共计1011个文字,预计阅读时间需要5分钟。
PHP的`unset()`函数用于清除、销毁变量。对于不再使用的变量,我们可以用`unset()`将其销毁。但有时使用`unset()`却无法释放变量占用的内存!例如:`$s=str_repeat('1', 255); // 产生大量数据`
PHP的unset()函数用来清除、销毁变量,不用的变量,我们可以用unset()将它销毁。但是某些时候,用unset()却无法达到销毁变量占用的内存!
我们先看一个例子:
<?php $s = str_repeat('1',255); //产生由255个1组成的字符串 $m = memory_get_usage(); //获取当前占用内存 unset($s); $mm = memory_get_usage(); //unset()后再查看当前占用内存 echo $m-$mm; ?>
最后输出unset()之前占用内存减去unset()之后占用内存,如果是正数,那么说明unset($s)已经将$s从内存中销毁(或者 说,unset()之后内存占用减少了),可是我在PHP5和windows平台下,得到的结果是:-48。

