• 1
预览模式: 普通 | 列表

php7 unset数组元素会不会释放内存

 针对这个问题, 我们先上一段代码. 

<?php
$memory2 = $memory3 = $memory4 = 0;
$data = [];
$memory = memory_get_usage();
foreach (range(1, 100000) as $key) {
	$data[$key] = str_repeat("1', 100);
}

$memory2 = memory_get_usage() - $memory;

foreach (range(1, 100000) as $key) {
	unset($data[$key]);
}

$memory3 = memory_get_usage() - $memory;

echo "memory2: " . $memory2, PHP_EOL;
echo "memory3: " . $memory3, PHP_EOL;

这段代码分别会输出3个内存使用情况. 分别记为memory2, memory3. 

memory2: 给数组设置10000个key, 给value字段设置100个1的字符串. 之后的内存. 

memory3: unset掉数据中所有的key之后的内存值. 

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 3744
  • 1
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭