Есть массив:
$arr = [['apple', '10', '10', '10'],
['apple', '20', '5', '10'],
['apple', '15', '5', '10'],
['banana', '10', '10', '10'],
['orange', '10', '15', '20'],
['orange', '5', '15', '10']];
Надо объединить по первому ключу, при этом, в других ключах должно быть следующее правило:
1) если значения равны, то его и оставляем
2) если второе значение больше/меньше первого, то ставим его сзади/спереди и добавляем тире (т.е. если у нас '10' и '20', то на выходе получим '10-20')
3) если значение находится между крайними цифрами, то промежуток оставляем таким же (если уже '10-20', а значение '15', то так и остается '10-20')
В итоге, массив должен быть таким:
$arr = [['apple', '10-20', '5-10', '10'],
['banana', '10', '10', '10'],
['orange', '5-10', '15', '10-20']];
Видел похожий вопрос, но там значения добавлялись в конец, а мне необходимы изменения в тех же ключах. Как лучше это сделать? Условия, где будем сравнивать значения, наверное, прописывать в функциях, но как их выбрать/объединить перед этим. Или же можно сделать как-то попроще?