Слияние значений массива с одинаковыми ключами в php - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть этот массив, возвращенный из вызова API.

$areas = [
            [
                'name' => 'XDFF',
                'total' => 12
            ],
            [
                'name' => 'XDEF',
                'total' => 20
            ],
            [
                'name' => 'XDFF',
                'total' => 23
            ]
        ];

Моя задача состоит в том, чтобы объединить те, которые имеют похожее имя, в данном случае 'XDFF', и добавить их итоги.

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

$newAreas = [];
        foreach ($areas as $area) {
            if (array_key_exists($area['name'], $newAreas)) {
                $newAreas[$area['name']]['total'] += $area['total'];
                continue;
            }
            $newAreas[$area['name']] = $area;
        }

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