Группировка массива (в ПХП)

Yurik

/dev/null
Группировка массива (в ПХП)

Из запроса к БД получаются такие данные
PHP:
 $row['idservice'] (int)
 $row['num'] (int)
 $row['discount'] 0...1
 $row['price']  (float)
код услуги, к-во, скидка и цена. Умножением скидки на цену можно получить такие данные
PHP:
 $row['idservice'] (int)
 $row['num'] (int)
 $row['sum'] (float)
Которые в цыкле помещаем в массив (Все это сделать в ПХП т.к. запрос и так очень сложный, а массив не большой (максимум до 50 элементов)).

Это все выводится построчно на страницу.
Нужно: если в массиве есть елементы у которых совпадают idservice+sum -
их нужно сгруппировать (объединить) так чтобы остался один елемент в котором num - сумма всех num.

Пример:
PHP:
idservice:1 num: 5; sum 7;           idservice:1 num: 7 sum:7
idservice:1 num: 2; sum 7;     ====> idservice:1 num: 2; sum 5;
idservice:1 num: 2; sum 5;           idservice:2 num: 3; sum 4.5;
idservice:2 num: 3; sum 4.5;
 

Yurik

/dev/null
Спасибо, разобрались.
PHP:
if isset(myarray[$idservice][$sum]) досумировать num; else добавить елемент myarray[$idservice][$sum]
 
Сверху