В PHP объедините дублирующий набор элементов многомерного массива и суммируйте значения конкретного ключа
У меня есть следующий массив, где я пытаюсь объединить элементы, которые имеютshelf
а такжеweight
значение как дубликат и суммировать значениеpiece
ключ.
Array
(
[0] => Array
(
[shelf] => Left
[weight] => 10.000
[piece] => 1
)
[1] => Array
(
[shelf] => Right
[weight] => 04.000
[piece] => 12
)
[2] => Array
(
[shelf] => Right
[weight] => 04.000
[piece] => 4
)
[3] => Array
(
[shelf] => Right
[weight] => 07.000
[piece] => 8
)
)
В настоящее время я получаю следующий желаемый вывод с помощью следующего оператора SQL, создавая временную таблицу со следующими полямиshelf
, weight
а такжеpiece
и вставив все четыре значения и проанализировав результат в PHP с помощью следующего запроса select
SELECT shelf, weight, SUM(piece) FROM temp GROUP BY CONCAT(shelf, weight)
Array
(
[0] => Array
(
[shelf] => Left
[weight] => 10.000
[piece] => 1
)
[1] => Array
(
[shelf] => Right
[weight] => 04.000
[piece] => 16
)
[3] => Array
(
[shelf] => Right
[weight] => 07.000
[piece] => 8
)
)
Однако я верю, что это может быть просто достигнуто PHP, но я не могу разобраться. Может кто-нибудь указать, что мне не хватает?
Примечание для модераторов и SO Vigilante
Пожалуйста, не воспринимайте это как личность, но прежде чем отмечать или даже говорить, что это дубликат, внимательно прочитайте мой вопрос и поймите, чего я пытаюсь достичь, и только тогда, если вы согласны, любезно объясните подробно, почему вы считаете его дубликатом, а не просто спорите на основании вопроса с похожим названием
Я прошел через эти вопросы, но они не работают в моем сценарии, так как они пытаются объединить массив и сумму значений на основе одного конкретного элемента, который обычно является идентификатором, но в моем случае его уникальность оценивается по комбинации элементов ( Не один)