正文
PHP重复数据求和 php去重复文本
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
php二维数组,相同值求和,并返回新的数组
?php
$old_arr = array(
array(1,107,100,83,44,111),
array(100,109,126,86,93,22),
array(10,113,126,86,93,22),
array(100,109,126,86,93,22),
);
$new_arr = array(0,0,0,0,0,0);
foreach($old_arr as $arr){
for ($i = 0; $i 6; $i++) {
$new_arr[$i]+=$arr[$i];
}
}
var_dump($new_arr);
?
截图如下PHP重复数据求和:
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了
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如何将数组中id相同数据的value相加之后得到新的数组
$a = array(
0 = array(
'id'=1,
'value'=4,
),
1 = array(
'id'=2,
'value'=2,
),
2 = array(
'id'=3,
'value'=3,
),
3 = array(
'id'=4,
'value'=5,
),
4 = array(
'id'=5,
'value'=1,
),
);
$b = array(
0 = array(
'id'=1,
'value'=2,
),
1 = array(
'id'=2,
'value'=3,
),
2 = array(
'id'=3,
'value'=2,
),
3 = array(
'id'=4,
'value'=3,
),
4 = array(
'id'=5,
'value'=2,
),
);
$c = array();
foreach($a as $k=$v)
{
if ($v['id'] == $b[$k]['id'])
{
$c[] = array('id'=$v['id'],'count'=$v['value'] + $b[$k]['value']);
}
}
echo 'pre';
print_r($c);
PHP数组怎么把重复的加起来
(1)利用php提供的函数,array_unique和array_diff_assoc来实现
.代码如下:
?php
function FetchRepeatMemberInArray($array) {
// 获取去掉重复数据的数组
$unique_arr = array_unique ( $array );
// 获取重复数据的数组
$repeat_arr = array_diff_assoc ( $array, $unique_arr );
return $repeat_arr;
}
// 测试用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
?
(2)自己写函数实现这个功能,利用两次for循环
.代码如下:
?php
function FetchRepeatMemberInArray($array) {
$len = count ( $array );
for($i = 0; $i $len; $i ++) {
for($j = $i + 1; $j $len; $j ++) {
if ($array [$i] == $array [$j]) {
$repeat_arr [] = $array [$i];
break;
}
}
}
return $repeat_arr;
}
// 测试用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
?
PHP重复数据求和的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php去重复文本、PHP重复数据求和的信息别忘了在本站进行查找喔。