Php 数组中的日期分组

Php 数组中的日期分组,php,arrays,date,Php,Arrays,Date,我有一个包含许多日期的数组。这些日期是被动的。如果两者之间的空闲时间超过8天,我需要得到这些日期的相反值。我必须将这些相反的日期处理为天数、开始日期和结束日期 示例数组 Array ( [0] => 17-05-2020 [1] => 18-05-2020 [2] => 19-05-2020 [3] => 20-05-2020 [4] => 28-05-2020 [5] => 29-05-2020 [6]

我有一个包含许多日期的数组。这些日期是被动的。如果两者之间的空闲时间超过8天,我需要得到这些日期的相反值。我必须将这些相反的日期处理为天数、开始日期和结束日期

示例数组

Array
(
    [0] => 17-05-2020
    [1] => 18-05-2020
    [2] => 19-05-2020
    [3] => 20-05-2020
    [4] => 28-05-2020
    [5] => 29-05-2020
    [6] => 30-05-2020
    [7] => 02-06-2020
    [8] => 03-06-2020
    [9] => 10-07-2020
    [10] => 10-07-2020
    [11] => 11-07-2020
    [12] => 12-07-2020
    [13] => 13-07-2020
    [14] => 20-07-2020
    [15] => 21-07-2020
    [16] => 25-07-2020
    [17] => 26-07-2020
    [18] => 27-07-2020
)
我想要的结果

Array
(
    [0] => Array
        (
            [0] => 30-05-2020
            [1] => 02-06-2020
            [2] => 3
        )

    [1] => Array
        (
            [0] => 13-07-2020
            [1] => 20-07-2020
            [2] => 7
        )

    [2] => Array
        (
            [0] => 21-07-2020
            [1] => 25-07-2020
            [2] => 4
        )

)

我的理解是,您希望得到日期之间的差异,如果差异
=8
,那么您希望这些日期在单独的数组中,并带有天数计数

你可以这样做:

$finalArray = [];

foreach($array as $key=>$arr){
    if(isset($array[$key+1])){

       $diff =  round((strtotime($array[$key+1]) - strtotime($arr)) / (60 * 60 * 24));

       if(($diff < 8) and ($diff > 1)){
           $finalArray[] = array(
                $arr,
                $array[$key+1],
                $diff

           );

       }
    }

}

print_r($finalArray);
$finalArray=[];
foreach($key=>$arr的数组){
if(isset($array[$key+1])){
$diff=round((strotime($key+1数组))-strotime($arr))/(60*60*24));
如果($diff<8)和($diff>1)){
$finalArray[]=数组(
$arr,
$array[$key+1],
$diff
);
}
}
}
打印费($finalArray);

输出:

到目前为止您尝试了什么?在你的问题中添加你的代码尝试,否则它似乎是请为我写代码免费的那种帖子我已经尝试了很多方法。我尝试并删除了很多代码。我对PHP语言非常业余,比如日期。这些是我最后一次处理输出的代码:通过编辑ITA将这些代码发布到您的问题中,并根据输入数据和逻辑设置所需输出的格式。因为它似乎不匹配,所以我稍后将执行逻辑操作。所以我不想在内容中添加代码。代码可能会混淆,因为有数据库操作和其他数据。非常感谢您的帮助,我非常感谢。我的英语不好,真是太糟糕了。我想知道为什么只有那些日期会来。那些日期也会到来,有1,2,3。。。天差也一样:-<代码>我想要的输出是这样发生的。非常感谢你!