(1)利用php提供的函數(shù),array_unique和array_diff_assoc來(lái)實(shí)現(xiàn)
公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出臨汾免費(fèi)做網(wǎng)站回饋大家。
.代碼如下:
?php
function FetchRepeatMemberInArray($array) {
// 獲取去掉重復(fù)數(shù)據(jù)的數(shù)組
$unique_arr = array_unique ( $array );
// 獲取重復(fù)數(shù)據(jù)的數(shù)組
$repeat_arr = array_diff_assoc ( $array, $unique_arr );
return $repeat_arr;
}
// 測(cè)試用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
?
(2)自己寫(xiě)函數(shù)實(shí)現(xiàn)這個(gè)功能,利用兩次for循環(huán)
.代碼如下:
?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;
}
// 測(cè)試用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
?
?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
$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);
?
截圖如下:
遍歷一次就搞定了
既然你要把單號(hào)相同的加起來(lái),就可以認(rèn)為單號(hào)是唯一的,所以單號(hào)可以做key
$sourceArr?=?array();??//?這里就是你原始數(shù)據(jù)的數(shù)組
$newArr?=?array();??//?這里是相加后處理過(guò)的數(shù)組,以單號(hào)為key
foreach?($sourceArr?as?$v)?{
if?(array_key_exists($v['id'],?$newArr))?{
$newArr[$v['id']]['fund']?+=?$v['fund'];
}?else?{
$newArr[$v['id']]?=?$v;
}
}
大概就是這么個(gè)意思,不過(guò)交易類(lèi)型、賬務(wù)類(lèi)型你可能還要再處理下。
如果最后想得到一個(gè)下標(biāo)從0開(kāi)始的,非關(guān)聯(lián)數(shù)組,再用array_values()函數(shù)處理下就OK了