本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/114
<?php
$start1 = memory_get_usage();
echo $start1.' bytes'.PHP_EOL;
$rangeNum = range(1, 100);
foreach ($rangeNum as $num) {
echo $num . PHP_EOL;
}
$end = memory_get_usage();
echo $end - $start1 .' bytes'.PHP_EOL;
function my_range($start, $limit) {
for ($i=$start; $i<=$limit; $i++) {
yield $i;
}
}
$start2 = memory_get_usage();
echo $start2.' bytes'.PHP_EOL;
$rangeNum2 = my_range(1, 100);
foreach ($rangeNum2 as $num) {
echo $num . PHP_EOL;
}
$end = memory_get_usage();
echo $end - $start2 .' bytes'.PHP_EOL;
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/114
该博客探讨了PHP中内存使用的情况,通过对比`range`函数与自定义的生成器函数`my_range`在处理大范围数字序列时的内存占用,展示了生成器如何有效地节省内存。文章通过具体的代码示例和内存使用量的输出,揭示了生成器在处理大量数据时的优势。
839

被折叠的 条评论
为什么被折叠?



