В 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

Пожалуйста, не воспринимайте это как личность, но прежде чем отмечать или даже говорить, что это дубликат, внимательно прочитайте мой вопрос и поймите, чего я пытаюсь достичь, и только тогда, если вы согласны, любезно объясните подробно, почему вы считаете его дубликатом, а не просто спорите на основании вопроса с похожим названием

Я прошел через эти вопросы, но они не работают в моем сценарии, так как они пытаются объединить массив и сумму значений на основе одного конкретного элемента, который обычно является идентификатором, но в моем случае его уникальность оценивается по комбинации элементов ( Не один)

1, 2, 3

Ответы на вопрос(1)

Ваш ответ на вопрос