ホームページ >バックエンド開発 >PHPチュートリアル >繰り返しできない dedecms トピック ノード ID のサンプル コード

繰り返しできない dedecms トピック ノード ID のサンプル コード

黄舟
黄舟オリジナル
2017-03-31 09:45:181364ブラウズ

この記事では、dedecms トピック ノード ID を重複できない問題の解決策を主に紹介します。必要な友達はそれを参照してください

dedecms テンプレートのダウンロード アドレス: www.php.cn/xiazai/code/dedecms

トピック 特に憂鬱な点を発見しました。どのノードでも重複する 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 ループ には、いくつかの重複 ID を除外する isset 判定があります
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;
                    }
                }
            }

私はしませんでしたこれはわかりません。変更によって他にも「副作用」があるのでしょうか。みなさんもアドバイスをいただければ幸いです!

以上が繰り返しできない dedecms トピック ノード ID のサンプル コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。