Я хочу групповой массив значений мой массив выглядит, как показано ниже с 30 минут промежуток времениГруппировка массив на основе значений
$arr = ["00:00","00:30","01:00","01:30","02:00","02:30","03:00","04:30","05:00","05:30"];
я хочу выход как
Array ([0] => Array ([0] => 00:00 [1] => 03:00),[1]=> Array ([0] => 04:30 [1] => 05:30)) ;
Вот мой код для достижения результат
$output = array();
$start = $arr[0];
for($i=1; $i<count($arr); $i++) {
if($i == count($arr)-1) {
$interval = array($start,$arr[$i]);
array_push($output,$interval);
break;
}
if((int)($arr[$i]) - (int)($arr[$i-1]) > 1) {
$interval = array($start,$arr[$i-1]);
array_push($output,$interval);
$start = $arr[$i];
}
}
print_r($output);
, но я получил результат выглядит
Array ([0] => Array ([0] => 00:00 [1] => 05:30))
Благодаря
Вы хотите сгруппировать с интервалом 3 часа? – Abbas
нет Аббас. Я хочу группировать значения массива с начальным и конечным временем с интервалом 30 минут, если какое-либо время превышает 30 минут, он будет рассматриваться как новый массив. –
Пожалуйста, проверьте ответ. – Abbas