Exemple de code pour l'ID de nœud de sujet dedecms qui ne peut pas être répété

黄舟
Libérer: 2023-03-07 08:06:01
original
1344 Les gens l'ont consulté

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 : www.php.cn/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;
                    }
                }
            }
Copier après la connexion

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);
Copier après la connexion
Puis changez isset en is_array pour déterminer s'il s'agit d'un tableau

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;
                    }
                }
            }
Copier après la connexion
Je ne sais pas si un tel changement aura d'autres "effets secondaires" ! J'espère que vous pourrez tous me donner quelques conseils !

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!

Étiquettes associées:
id
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!