PHP Объединить элемент ассоциативного массива на основе их ключевых значений - PullRequest
0 голосов
/ 04 февраля 2020

Мне нужно объединить элементы массива на основе указанных значений ключей c. В моем случае я хочу добавить значения на основе locationCode. У меня есть массив:

Array
(
    [0] => Array
        (
            [name] => ABC
            [locationCode] => 1
            [total] => 177
        )

    [1] => Array
        (
            [name] => DEF
            [locationCode] => 2
            [total] => 281
        )

    [2] => Array
        (
            [name] => GHI
            [locationCode] => 3
            [total] => 246
        )

    [3] => Array
        (
            [name] => JKL
            [locationCode] => 5
            [total] => 79
        )

    [4] => Array
        (
            [name] => ABC
            [locationCode] => 1
            [total] => 1
        )

    [5] => Array
        (
            [name] => DEF
            [locationCode] => 2
            [total] => 7
        )

    [6] => Array
        (
            [name] => GHI
            [locationCode] => 3
            [total] => 6
        )

    [7] => Array
        (
            [name] => JKL
            [locationCode] => 5
            [total] => 4
        )

    [8] => Array
        (
            [name] => MNO
            [locationCode] => 6
            [total] => 1
        )

    [9] => Array
        (
            [name] => PQR
            [locationCode] => 9
            [total] => 2
        )

)

Я хочу минимизировать массив путем суммирования общего количества, где locationCode одинаковы.

Вывод будет:

Array
(
    [0] => Array
        (
            [name] => ABC
            [locationCode] => 1
            [total] => 178
        )

    [1] => Array
        (
            [name] => DEF
            [locationCode] => 2
            [total] => 288
        )

    [2] => Array
        (
            [name] => GHI
            [locationCode] => 3
            [total] => 252
        )

    [3] => Array
        (
            [name] => JKL
            [locationCode] => 5
            [total] => 83
        )

    [4] => Array
        (
            [name] => MNO
            [locationCode] => 6
            [total] => 1
        )

    [5] => Array
        (
            [name] => PQR
            [locationCode] => 9
            [total] => 2
        )

)

Я пытался с массив_мердж_рекурсивная функция. Но не показывает правильные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...