在做專(zhuān)題的時(shí)候發(fā)現(xiàn)個(gè)特別郁悶人的事情,5個(gè)節(jié)點(diǎn),任意一個(gè)節(jié)點(diǎn)中出現(xiàn)ID重復(fù)均被過(guò)濾之后寫(xiě)入數(shù)據(jù)庫(kù);為此研究了一番,原來(lái)有去重復(fù)功能。
最后發(fā)現(xiàn)罪魁禍?zhǔn)拙褪且韵麓a:
if(is_array($ids)) { foreach($ids as $mid) { $mid = trim($mid); if($mid=="") continue; if(!isset($arcids[$mid])) { if($okids=="") { $okids .= $mid; } else { $okids .= ",".$mid; } $arcids[$mid] = 1; } } }
s其中foreach循環(huán)中,有個(gè)isset的判斷,就是在此過(guò)濾了一些重復(fù)ID;
不知道DEDE $arcids這個(gè)變量是如何設(shè)置的,經(jīng)過(guò)foreach循環(huán)之后既然會(huì)賦予所有節(jié)點(diǎn)的ID均入到數(shù)組中。
為此,我的解決方法是這樣的:
首先將$ids這個(gè)數(shù)組變量進(jìn)行去重復(fù)處理:
$ids = array_unique($ids);
之后將isset改用is_array判斷是否是數(shù)組
完整的代碼如下:
$ids = array_unique($ids); if(is_array($ids)) { foreach($ids as $mid) { $mid = trim($mid); if($mid=="") continue; if(!is_array($arcids[$mid])) { if($okids=="") { $okids .= $mid; } else { $okids .= ",".$mid; } $arcids[$mid] = 1; } } }
不知道如此更改是否會(huì)有其他“副作用”!還望大家多多指教!
素材無(wú)憂小編補(bǔ)充:重復(fù)你有特殊需求,否則不建議修改。
版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: dedecms專(zhuān)題節(jié)點(diǎn)ID不能出現(xiàn)重復(fù)問(wèn)題的解決方法