2011-10-10 63 views
0

这听起来像一个愚蠢的问题,但我正在努力思考如何最好地解决它。固定期限之间的所有日期组合(PHP /循环)

我有2个日期,可以说15-03-2012至19-03-2012。我需要从所有4天工作下来所有的组合在一起,解压到4个人天,像这样(为简单起见格式更改)输出:

15, 16, 17, 18 
15,16, 17 
16, 17, 18 
15, 16 
16, 17 
17, 18 
15 
16 
17 
18 

我正在寻找最好的循环方法,日期范围将发生变化长度,格式不相关,但它需要从PHP日期,我将提取所需的确切格式。我将使用每个日期集来在每次迭代中执行代码,因此必须是日期/循环。

回答

0

创建两个Date对象的值,写一个while循环,直到起始变量(您的开始日期)等于结束变量(您的结束日期),您应该完成。

0

总体思路:

$day = 24 * 60 * 60; 

for($startDate = $dateA; $startDate <= $dateB; $startDate += day) 
{ 
    for($endDate = $startDate; $endDate <= $dateB; $endDate += day) 
    { 
    for($dateIndex = startDate; $dateIndex <= $endDate; $dateIndex += day) 
    { 
     $output = getDate($dateIndex); 
     echo($output['month'] . $output['day'] . ','); 
    } 
    echo '</br>'; 
    } 
}