Heim >Backend-Entwicklung >PHP-Tutorial >Beispielcode für die Knoten-ID des Themas „dedecms', der nicht wiederholt werden kann
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!