用file方法獲得的數(shù)組元素是包含行結(jié)束符(換行符)的,所以直接比對(duì)的話肯定是不匹配的??梢杂胷trim()函數(shù)把行結(jié)束符去掉再來比對(duì),但建議最好換成逐行讀取文件的方式而不是直接用file函數(shù)讀取到數(shù)組中
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比枝江網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式枝江網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋枝江地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
如果要用正則匹配重復(fù)出現(xiàn)的數(shù)字還行,但要匹配出現(xiàn)的次數(shù)那就不行了,不過你可以用PHP自帶的substr_count()函數(shù)處理,方法也很簡單,比正則更容易。使用方法如下:
?php
$text = 'This is a test';
echo strlen($text); // 14
echo substr_count($text, 'is'); // 2
// 字符串被簡化為 's is a test',因此輸出 1
echo substr_count($text, 'is', 3);
// 字符串被簡化為 's i',所以輸出 0
echo substr_count($text, 'is', 3, 3);
// 因?yàn)?5+10 14,所以生成警告
echo substr_count($text, 'is', 5, 10);
// 輸出 1,因?yàn)樵摵瘮?shù)不計(jì)算重疊字符串
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?
你用網(wǎng)頁的方式,讓人點(diǎn)擊,服務(wù)器采集,簡直是弱爆了。每個(gè)人的點(diǎn)擊循環(huán)1000次,來個(gè)100人同時(shí)點(diǎn),你要用的是普通的虛擬機(jī)就不行了。
最好是換種方式實(shí)現(xiàn),不要通過網(wǎng)頁進(jìn)行采集。
可以非常簡單的在數(shù)據(jù)庫的表,創(chuàng)建一個(gè)采集隊(duì)列,后臺(tái)執(zhí)行一個(gè)crontab的計(jì)劃任務(wù),去完成隊(duì)列里的采集任務(wù)。
遍歷一次就搞定了
既然你要把單號(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了
標(biāo)題名稱:php處理大數(shù)據(jù)重復(fù)匹配 php大數(shù)據(jù)查詢優(yōu)化
網(wǎng)站路徑:http://jinyejixie.com/article2/dossdic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、用戶體驗(yàn)、營銷型網(wǎng)站建設(shè)、云服務(wù)器、品牌網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)