第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

求大佬指點(diǎn)哈!如何過(guò)濾數(shù)據(jù),避免重復(fù)寫(xiě)入

求大佬指點(diǎn)哈!如何過(guò)濾數(shù)據(jù),避免重復(fù)寫(xiě)入

當(dāng)前使用的laravel框架,業(yè)務(wù)需求:讀取上傳的Excel數(shù)據(jù)為了避免重復(fù)上傳我檢查了文件的hash,但是:如果文件內(nèi)容被稍微更改,或其中包含早已寫(xiě)入數(shù)據(jù)庫(kù)的值,就需要過(guò)濾這部分?jǐn)?shù)據(jù)我現(xiàn)在的做法是:雙foreach根據(jù)各自結(jié)果集的部分條件判斷來(lái)unsert原有數(shù)據(jù),可以剔除重復(fù)的列;顯而易見(jiàn),如果兩個(gè)結(jié)果列數(shù)各大于100,這個(gè)執(zhí)行過(guò)程就要循環(huán)大于10000次,??感覺(jué)很消耗資源,有沒(méi)有更好的解決辦法呢??---請(qǐng)指教foreach($trackas$k=>$v){foreach($new_arras$ak=>$av){if($av['pur_id']==$v->pur_id&&$av['num']==$v->num){unset($new_arr[$ak]);}}}
查看完整描述

2 回答

?
胡說(shuō)叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

先用一個(gè)foreach做一個(gè)pur_id=>num的映射關(guān)系,然后通過(guò)foreach判斷內(nèi)容是否已存在于map內(nèi),存在則unset,這樣雖然分了兩次,但實(shí)際可以當(dāng)作一次循環(huán),第一個(gè)foreach可以使用array_column來(lái)代替
$map=[];
foreach($trackas$k=>$v){
$map[$v->pur_id]=$v->num;
}
unset($track);
foreach($new_arras$ak=>$av){
if(isset($map[$av['pur_id']])&&$av['num']==$map[$av['pur_id']])unset($new_arr[$ak]);
}
$map=array_column($track,'num','pur_id');
unset($track);
foreach($new_arras$ak=>$av){
if(isset($map[$av['pur_id']])&&$av['num']==$map[$av['pur_id']])unset($new_arr[$ak]);
}
                            
查看完整回答
反對(duì) 回復(fù) 2019-10-08
  • 2 回答
  • 0 關(guān)注
  • 296 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)