手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

幫助中心 >  技術知識庫 >  網站相關 >  建站知識 >  dedecms專題節點ID不能出現重復問題的解決方法

dedecms專題節點ID不能出現重復問題的解決方法

2016-12-09 07:54:08 7460

dedecms專題節點ID不能出現重復問題的解決方法


這篇文章主要介紹了dedecms專題節點ID不能出現重復問題的解決方法,需要的朋友可以參考下

在做專題的時候發現個特別郁悶人的事情,5個節點,任意一個節點中出現ID重復均被過濾之后寫入數據庫;為此研究了一番,原來有去重復功能。

最后發現罪魁禍首就是以下代碼:

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循環中,有個isset的判斷,就是在此過濾了一些重復ID; 
不知道DEDE $arcids這個變量是如何設置的,經過foreach循環之后既然會賦予所有節點的ID均入到數組中。 
為此,我的解決方法是這樣的: 
首先將$ids這個數組變量進行去重復處理:

$ids = array_unique($ids);

之后將isset改用is_array判斷是否是數組 
完整的代碼如下:

$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;
                    }
                }
            }


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: