Объединить значения в массиве php и создать новый

Подскажите как решить данную проблему:

Есть массив полученный из БД:

array(3) { 
[0]=> array(14) { ["id"]=> string(1) "1" ["userHash"]=> string(3) "apple" ["serviceType"]=> string(2) "11" ["prise"]=> string(1) "300"}
[1]=> array(14) { ["id"]=> string(1) "5" ["userHash"]=> string(3) "pear" ["serviceType"]=> string(1) "5" ["prise"]=> string(1) "20" } 
[2]=> array(14) { ["id"]=> string(1) "2" ["userHash"]=> string(3) "apple" ["serviceType"]=> string(2) "12" ["prise"]=> string(1) "200"}
}

Как внутри этого массива узнать, есть ли повторные значения (в данном примере это apple), и дальше создать новый массив, куда записать все уникальные значение, а также оставить только один apple с объединенной ценой 500 и дополнеными значенияю в serviceType (положить туда значения из обоих массивов), чтобы получилось так:

  array(2) { 
    [0]=> array(14) { ["id"]=> string(1) "1" ["userHash"]=> string(3) "apple" ["serviceType"]=> string(5) "11, 12" ["prise"]=> string(1) "500"}
[1]=> array(14) { ["id"]=> string(1) "5" ["userHash"]=> string(3) "pear" ["serviceType"]=> string(1) "5" ["prise"]=> string(1) "20" } 

}

Если делать в цикле, то все значения сравниваются сами с собой, что не решает проблему.

Подскажите, пожалуйста, логику кода или пример функции, чтобы решить данную задачу?


Ответы (1 шт):

Автор решения: Simple - Coding

попробуй использовать GROUP BY в своем запросе к базе данных. Тем самым ты исключишь повторения столбцов

→ Ссылка