本文目录一览:
PHP 同一个数组内 相同的key 值相加
?php
$arr1 = ['上海' = 20, '北京' = 30, '深圳' = 40,'广州' = 50,'南京' = 60,'深圳' = 70,'北京' = 80,'上海' = 90,'深圳' = 100,'南京' = 110];
$a=[];
foreach ($arr1 as $k=$v) $a[$k]+=$v;
print_r($a);
?
PHP 这样的数组如何将键相同的值相加?
// 给你写段参考代码吧:
$arr1 = ['a' = 20, 'b' = 30, 'c' = 40];
$arr2 = ['a' = 20, 'b' = 30, 'ggg' = 40];
$arr3 = ['a' = 20, 'ddd' = 30, 'c' = 40];
foreach ($arr1 as $key = $val) {
if (isset($arr2[$key])) {
$arr1[$key] += $arr2[$key];
}
if (isset($arr3[$key])) {
$arr1[$key] += $arr3[$key];
}
}
var_dump($arr1);
php判断数组重复,并把重复的数据相加
遍历一次就搞定了
既然你要把单号相同的加起来,就可以认为单号是唯一的,所以单号可以做key
$sourceArr = array(); // 这里就是你原始数据的数组
$newArr = array(); // 这里是相加后处理过的数组,以单号为key
foreach ($sourceArr as $v) {
if (array_key_exists($v['id'], $newArr)) {
$newArr[$v['id']]['fund'] += $v['fund'];
} else {
$newArr[$v['id']] = $v;
}
}
大概就是这么个意思,不过交易类型、账务类型你可能还要再处理下。
如果最后想得到一个下标从0开始的,非关联数组,再用array_values()函数处理下就OK了