循环遍历2个日期,并每隔12天、2天、12天、2天等执行一个条件


Loop through 2 dates and execute a condition each 12 days, 2 days, 12 days, 2 days, etc

我想在两个日期之间的循环中执行一个条件。

这是我的代码:

 for($i = $periodStartAt; $periodStartAt <= $endAt; $i->modify('+1 day')){
   // when it's 12 days
   // when it's 2 days (after the 12 days)
   // when it's 12 days (after the 2 days)
   // etc.....
   }

谁能帮我一下这个算法?

您可以考虑周期为14天,它可以分为两个子周期 -第一个为12天,第二个为2天。

所以循环的每一步可以处理14天:

$periodStartAt = 0;
while(true) {
    $periodStartAt += 12; // first sub-period
    if ($periodStartAt > $endAt) break;
    //do something when first sub-period reached
    $periodStartAt += 2; //second sub-period 
    if ($periodStartAt > $endAt) break;
    //do something when second sub-period reached
}