Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielcode für die Knoten-ID des Themas „dedecms“, der nicht wiederholt werden kann

Beispielcode für die Knoten-ID des Themas „dedecms“, der nicht wiederholt werden kann

黄舟
黄舟Original
2017-03-31 09:45:181283Durchsuche

In diesem Artikel wird hauptsächlich die Lösung für das Problem vorgestellt, dass die spezielle Knoten-ID von dedecms nicht wiederholt werden kann.

Download-Adresse der dedecms-Vorlage: www.php.cn/xiazai/code/dedecms

Ich habe etwas besonders Deprimierendes entdeckt, als ich an einem speziellen Thema arbeitete. Es wurden 5 Knoten in jedem Knoten gefiltert und in die Datenbank geschrieben Funktion.

Schließlich wurde festgestellt, dass der Schuldige der folgende Code war:

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 Darunter befindet sich in der foreach-Schleife ein Isset-Urteil, das filtert einige doppelte IDs auslesen;
Ich weiß nicht, wie die -Variable von DEDE $arcids gesetzt ist. Nach der foreach-Schleife werden die allen Knoten zugewiesenen IDs in das Array. Zu diesem Zweck lautet meine Lösung wie folgt:
Deduplizieren Sie zunächst die Array-Variable $ids:

$ids = array_unique($ids);
Ändern Sie dann isset in is_array, um festzustellen, ob es sich um ein Array handelt

The Der vollständige Code lautet wie folgt:

$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;
                    }
                }
            }
Ich weiß nicht, ob eine solche Änderung weitere „Nebenwirkungen“ haben wird! Ich hoffe, ihr könnt mir alle einen Rat geben!

Das obige ist der detaillierte Inhalt vonBeispielcode für die Knoten-ID des Themas „dedecms“, der nicht wiederholt werden kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn