$arr = array( array( "barcode" => "041167660317", "qty" => 1, "price" => "55.80", "tax" => "6.6401800000000000" ), array( "barcode" => "9311770598279", "qty" => 1, "price" => "97.00", "tax" => "11.5426800000000000" ), array( "barcode" => "9349254002288", "qty" => 2, "price" => "55.10", "tax" => "6.5572300000000000" ), array( "barcode" => "9311770598279", "qty" => 2, "price" => "83.00", "tax" => "9.8767900000000000" ), array( "barcode" => "9311770598279", "qty" => 1, "price" => "97.00", "tax" => "11.5426800000000000" ) ); $unique_keys = array(); foreach ($arr as $key => $value) { if (isset($unique_keys[$value["barcode"]])) { $index = $unique_keys[$value["barcode"]]; foreach ($arr[$index] as $k => &$v) { if ($k !== "barcode") { $v += $value[$k]; } } unset($arr[$key]); } else { $unique_keys[$value["barcode"]] = $key; } } var_export($arr);
发表评论 取消回复