慕后森
此代码应执行以下操作:$array = [ [ "financials" => [ [ "data" => [ "tag" => "revenue", ], "value" => 1, ], [ "data" => [ "tag" => "expenses", ], "value" => 10, ], ], "company" => [ "id" => 1, "name" => "company, inc", ], ], [ "company" => [ "id" => 1, "name" => "company, inc", ], "financials" => [ [ "data" => [ "tag" => "revenue", ], "value" => 2, ], [ "data" => [ "tag" => "expenses", ], "value" => 20, ], ], ],];$company = $array[0]['company'];$summedArray = $usedTags = [];$summedArray['company'] = $company;$summedArray['financials'] = [];foreach ($array as $set) { $data = $set['financials']; foreach ($data as $dataSet) { if (in_array($dataSet['data']['tag'], $usedTags) === false) { $summedArray['financials'][] = [ "data" => [ "tag" => $dataSet['data']['tag'] ], "value" => $dataSet['value'] ]; $usedTags[] = $dataSet['data']['tag']; } else { $summedArray['financials'][array_search($dataSet['data']['tag'], $usedTags)]['value'] += $dataSet['value']; } }}var_dump($summedArray);希望对您有帮助