Jeg ville oprette et array med alle værdierne i [min,max] området og derefter lave et skæringspunkt med alle de eksisterende områder:
$new_range = range($min, $max);
foreach ($current_ranges as $range) {
if (count(array_intersect($new_range, range($range["min"], $range["max"])))) {
throw new RangeException();
}
}
Dette vil give en undtagelse på det første allerede eksisterende område, der falder sammen med det nye.