前面一位朋友的程序运行了下,结果不是题主要的那种形式。请看我的程序。
$data_arr = array(
strtotime("2015-08-01"),
strtotime("2015-08-03"),
strtotime("2015-08-04"),
strtotime("2015-08-05"),
strtotime("2015-08-06"),
strtotime("2015-08-07"),
strtotime("2015-08-09"),
strtotime("2015-08-10"),
strtotime("2015-08-13"),
strtotime("2015-08-14"),
strtotime("2015-08-15"),
strtotime("2015-08-19"),
strtotime("2015-08-20"),
strtotime("2015-08-22"),
);
for ($i = 0; $i < count($data_arr); $i++) {
if ($data_arr[$i - 1] + 24 * 3600 == $data_arr[$i] && $data_arr[$i + 1] - 24 * 3600 != $data_arr[$i]) {
$end = $data_arr[$i];
echo date("Y-m-d", $start) . "到" . date("Y-m-d", $end) . "未交费
";
}
if ($data_arr[$i + 1] - 24 * 3600 == $data_arr[$i] && $data_arr[$i - 1] + 24 * 3600 != $data_arr[$i]) {
$start = $data_arr[$i];
}
if ($data_arr[$i + 1] - 24 * 3600 != $data_arr[$i] && $data_arr[$i - 1] + 24 * 3600 != $data_arr[$i]) {
echo date("Y-m-d", $data_arr[$i]) . "未交费
";
}
}
?>
运行结果
2015-08-01未交费
2015-08-03到2015-08-07未交费
2015-08-09到2015-08-10未交费
2015-08-13到2015-08-15未交费
2015-08-19到2015-08-20未交费
2015-08-22未交费