Cet article présente principalement la solution au problème selon lequel l'ID de nœud spécial dedecms ne peut pas être répété. Les amis dans le besoin peuvent s'y référer
Adresse de téléchargement du modèle dedecms : m.sbmmt.com/xiazai/code/dedecms.
J'ai découvert quelque chose de particulièrement déprimant lorsque je travaillais sur un sujet spécial. Il y avait 5 nœuds en double dans n'importe quel nœud qui étaient filtrés et écrits dans la base de données. Après quelques recherches, j'ai découvert qu'il y avait une déduplication. fonction.
Finalement, le coupable s'est avéré être le code suivant :
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 Parmi eux, dans la boucle foreach, il y a un jugement isset, qui filtre quelques ID en double ;
Je ne sais pas comment la variable de DEDE $arcids est définie. Après la boucle foreach, les ID attribués à tous les nœuds seront entrés dans le tableau<. 🎜>. À cette fin, ma solution est la suivante :
Tout d'abord, dédupliquez la variable du tableau $ids :
$ids = array_unique($ids);
Le le code complet est le suivant :
$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; } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!