点击run获取:执行结果
$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_dump($arr);