I’m working on an array of numeric values.
I have a array of numeric values as the following in PHP
11,12,15,16,17,18,22,23,24
And
You could do it like that:
$numbers = [11,12,15,16,17,18,22,23,24];
$ranges = [];
$start = $end = current($numbers);
foreach($numbers as $range){
if($range - $end > 1){
$ranges[] = ($start == $end) ? $start : $start . "-" . $end;
$start = $range;
}
$end = $range;
}
$ranges[] = ($start == $end) ? $start : $start . "-" . $end;