在php

时间:2018-12-04 14:57:41

标签: array-merge php-7.2

我从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);

0 个答案:

没有答案