遍歷一次就搞定了
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù),網(wǎng)站設(shè)計(jì),成都網(wǎng)站托管等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競(jìng)爭(zhēng)對(duì)手中脫穎而出成都創(chuàng)新互聯(lián)公司。
既然你要把單號(hào)相同的加起來,就可以認(rèn)為單號(hào)是唯一的,所以單號(hào)可以做key
$sourceArr?=?array();??//?這里就是你原始數(shù)據(jù)的數(shù)組
$newArr?=?array();??//?這里是相加后處理過的數(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è)意思,不過交易類型、賬務(wù)類型你可能還要再處理下。
如果最后想得到一個(gè)下標(biāo)從0開始的,非關(guān)聯(lián)數(shù)組,再用array_values()函數(shù)處理下就OK了
這個(gè)函數(shù)就可以array_unique()
array_unique() 函數(shù)移除數(shù)組中的重復(fù)的值,并返回結(jié)果數(shù)組。
當(dāng)幾個(gè)數(shù)組元素的值相等時(shí),只保留第一個(gè)元素,其他的元素被刪除。
返回的數(shù)組中鍵名不變。
?php
$a=array("a"="Cat","b"="Dog","c"="Cat");
print_r(array_unique($a));
?
輸出:
Array ( [a] = Cat [b] = Dog )
先把字符串以一個(gè)字符為單位,轉(zhuǎn)換成數(shù)組
然后,數(shù)組去重array_unique
如果和之前的count不一樣,那么久是包含了重復(fù)相同的數(shù)字
$arr1=array(1,2,3,4,5,6,7,8,9,1,2,3,4,5);//設(shè)定需要判斷的數(shù)組
$num1 = count($arr1);//提取該數(shù)組的數(shù)目
$arr2 = array_unique($arr1);//合并相同的元素
$num2 = count($arr2);//提取合并后數(shù)組個(gè)數(shù)
if($num1$num2)//判斷下大小
{
echo "該數(shù)組含有重復(fù)元素";
}
else
{
echo "該數(shù)組不含有重復(fù)元素";
}
這個(gè)問題有2層意思:
考慮數(shù)組為$arr = ("bob","bob","jose","rose","kid","rose","obo")
1,找出特定某個(gè)值重復(fù)了多少次,例如,找出數(shù)組中bob出現(xiàn)了多少次
$count = 0;
foreach($arr as $v)
{ if("bob" == $v )
$count ++;
}
這里求出來的$count 就是bob出現(xiàn)了多少次
2,找出重復(fù)過的值,而不是針對(duì)某個(gè)值。應(yīng)該二重循環(huán)
$count?=?array();?//數(shù)組記錄重復(fù)次數(shù)
$temp_count?=?0;
foreach?(?$arr?as?$?out?)?
foreach?($arr?as?$?in?)
{
$temp_count?=?0;
if($in?==?$out)
{
$temp_count?++;
if($temp_count?1)
{
$count[$in]?=?$temp_count;
}
}
}
這里的話,$count數(shù)組里面就是存放了重復(fù)過的鍵值和次數(shù)(大于1)