您的位置:

包含php如何把id相同的累计求和的词条

本文目录一览:

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如何将一个字段的相同数据合并,并将另一个字段的数字累加

我就告诉你一个sql 执行了你就懂了

SELECT SUM(xf) AS sumxf,* FROM `表` GROUP BY name

php就输出就可以了 一条sql搞定

php如何把id相同的累计求和

// 只要 ID 相同就把值累加吗?

$ary = [

['id' = 1, 'value' = 200],

['id' = 2, 'value' = 200],

['id' = 1, 'value' = 200],

['id' = 2, 'value' = 200],

['id' = 2, 'value' = 200],

['id' = 2, 'value' = 200],

];

$result = [];

foreach($ary as $key = $vo) {

if (!array_key_exists($vo['id'], $result)) {

$result[$vo['id']] = $vo['value'];

} else {

$result[$vo['id']] += $vo['value'];

}

}

echo 'pre';

print_r($result);

echo '/pre';

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 );

?