测试代码:
// 示例:使用生成器方式输出日期
$start_date = '2023-02-25';
$end_date = '2999-03-01';
// 记录初始内存使用量
$memory_before_generator = memory_get_usage();
$dates_generator = generate_dates_between($start_date, $end_date, true);
foreach ($dates_generator as $date) {
// 在这里处理每个日期,例如输出或其他操作
//echo $date . PHP_EOL;
}
// 记录生成器示例执行后的内存使用量
$memory_after_generator = memory_get_usage();
$memory_usage_generator = $memory_after_generator - $memory_before_generator;
echo "内存消耗(使用生成器方式):" . round($memory_usage_generator / 1024 / 1024, 2) . "M" . PHP_EOL;
echo "内存消耗(使用生成器方式):" . $memory_usage_generator . " bytes" . PHP_EOL;
// 示例:使用数组方式输出日期
// 记录初始内存使用量
$memory_before_array = memory_get_usage();
$dates_array = generate_dates_between($start_date, $end_date, false);
//print_r($dates_array);
// 记录数组示例执行后的内存使用量
$memory_after_array = memory_get_usage();
$memory_usage_array = $memory_after_array - $memory_before_array;
echo "内存消耗(使用数组方式):" . round($memory_usage_array / 1024 / 1024, 2) . "M" . PHP_EOL;
echo "内存消耗(使用数组方式):" . $memory_usage_array . " bytes" . PHP_EOL;
测试结果:
内存消耗(使用生成器方式):0M
内存消耗(使用生成器方式):1544 bytes
内存消耗(使用数组方式):105.03M
内存消耗(使用数组方式):110133840 bytes