и, прежде всего, спасибо, что нашли время, чтобы прочитать мой вопрос.Расчет диапазонов чисел в PHP
Я пытаюсь написать сценарий, и я столкнулся с проблемой, которую мне трудно решить. Я работаю с парой чисел (например, 1000 и 2000), и у меня есть массив пар чисел:
$pairs = array(
array(800, 1100),
array(1500, 1600),
array(1900, 2100)
)
То, что я пытаюсь найти, как получить диапазоны, не охваченные числовые пары, между 1000 и 2000. В этом примере 1000-1100 покрывается массивом (800, 1100), 1500-1600 покрывается массивом (1500, 1600) и 1900-2000, покрывается массивом (1900, 2100), что оставляет меня с 1101-1499 и 1599-1899, оставшимися для покрытия. Надеюсь, я достаточно ясен.
Мне интересно, как бы я сделал PHP, чтобы вернуть мне массив диапазонов, не охватываемых переменной $ pairs. В этом примере он вернется:
array(
array(1101, 1499),
array(1599, 1899)
)
У вас есть идеи, что было бы лучшим способом сделать это?
Заранее спасибо.
Этот ответ работал отлично для меня, спасибо :) Единственное исправление я должен сделать то, что «если ($ пред) ...» должен идти раньше, если ($ Пара [0}> $ start &&! $ отсутствует), потому что для 800-1100 функция только устанавливает $ prev, а это значит, что когда она попадает ко второй паре, она все еще думает, что это первая пара (таким образом, все от 1000- 1500 считается отсутствующим). Большое спасибо за вашу помощь, cletus :) –