Я следующий массивПредотвращение перекрытий значений
array (size=5)
0 =>
array (size=1)
'margin' => 1
1 =>
array (size=1)
'margin' => 14
2 =>
array (size=1)
'margin' => 23
3 =>
array (size=1)
'margin' => 24
4 =>
array (size=1)
'margin' => 27
Я хочу, чтобы предотвратить перекрытие, я означает каждый из них должен быть по крайней мере, отличается от значения/интервала 5, и в то же время я не хотим окончательные маржи макс, чем 30
и поля должны только плюс/минус вокруг их текущих значений, как и конечный результат может быть как ниже
array (size=5)
0 =>
array (size=1)
'margin' => 1
1 =>
array (size=1)
'margin' => 14
2 =>
array (size=1)
'margin' => 19
3 =>
array (size=1)
'margin' => 24
4 =>
array (size=1)
'margin' => 29
до сих пор, я попробовал FO llowing code для обнаружения перекрытий
while(list($i, $v) = each($data)) {
if(!empty($data[$i+1]["margin"])){
if(($data[$i+1]["margin"]-$v["margin"])<5)
echo "Overlapping index : ".($i+1).PHP_EOL;
}
}
, но у меня возникли трудности с выполнением некоторого алгоритма для устранения перекрытий на месте.
P.S. все данные в массиве сортируются (маргинальные значения).
Может ли кто-нибудь мне помочь? Заранее спасибо.