Объединить значения в массиве 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 в своем запросе к базе данных. Тем самым ты исключишь повторения столбцов