На входе имеем массив:
Array ( 
[1] => 10 
[2] => 
16 
[3] => 
17 
[4] => 
18 
[2] => 
19 
[3] => 23
...
[n] => 9999...
)
(
жирные - это соседи в арифметической последовательности)
Есть переменная например 
$quantity = 3
эта переменная ограничивает количество ближайших искомых соседей.
И ещё есть переменная 
$variants = 2
эта переменная ограничивает количество выводимых возможных вариантов.
Что ожидается на выходе:
Нужно получить списки всех соседей в массиве. В примере выше - есть четыре соседа (16, 17, 18, 19) но их нужно выдергивать из массива группами по 3 (если $quantity = 
3). и количество вариантов соседей должно быть = 2 (если $variants = 
2).
Как это могло бы выглядеть:
List 1  (
16, 
17, 
18)
List 2  (
17, 
18, 
19) 
Уже ковыряюсь второй день - и окончательно застрял. Нужна свежая идея. 
$quantity = 3;
$variants = 2;
$arr = array('10', '16', '17', '18', '19', '23');
foreach ($arr as $value) {
     echo $value;
   }