- 1、php如何將數組中id相同數據的value相加之後得到新的數組
- 2、PHP如何將一個字段的相同數據合併,並將另一個字段的數字累加
- 3、php如何把id相同的累計求和
- 4、PHP數組怎麼把重複的加起來
$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);
我就告訴你一個sql 執行了你就懂了
SELECT SUM(xf) AS sumxf,* FROM `表` GROUP BY name
php就輸出就可以了 一條sql搞定
// 只要 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’;
(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 );
?
原創文章,作者:NXSKV,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127076.html