<?php
$arr = ["01/06/18", "02/06/18", "03/06/18",
"11/06/18","12/06/18", "13/06/18", "14/06/18", "15/06/18","16/06/18",
"20/06/18"];
$i =-1;
$prev =0;
$format = "d/m/y";
Foreach($arr as $val){
$dt = date_create_from_format ($format , $val);
$unix = date_timestamp_get($dt);
If($unix -$prev > 86400){
$i++;
If($i>0){
If(count($res[$i-1]) >1){
$periods[] = date($format, min($res[$i-1])) . " - " . date($format, max($res[$i-1]));
}Else{
$periods[] = date($format, min($res[$i-1]));
}
}
}
$res[$i][] = $unix;
$prev = $unix;
}
If(count(end($res)) >1){
$periods[] = date($format, min(end($res))) . " - " . date($format, max(end($res)));
}Else{
$periods[] = date($format, min(end($res)));
}
Var_dump($periods);
preferences:
46.55 ms | 410 KiB | 5 Q