Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction Array_INTERSECT pour déterminer s'il existe une intersection entre deux tableaux? Explication détaillée des exemples de code et des idées

Comment utiliser la fonction Array_INTERSECT pour déterminer s'il existe une intersection entre deux tableaux? Explication détaillée des exemples de code et des idées

gitbox 2025-09-01
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie du contenu n&#39;a rien à voir avec l&#39;article,Utilisé uniquement pour la séparation d&#39;affichage</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"L&#39;article commence comme suit..."</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-comment"># Comment utiliserarray_intersectLa fonction détermine s&#39;il existe une intersection entre deux tableaux?Explication détaillée des exemples de code et des idées</span></span><span>

exister PHP En développement quotidien,Nous rencontrons souvent de tels besoins:判断两个数组中是否存exister相同的元素。比如exister权限控制、Correspondance de balises、Filtrage des mots clés et autres scénarios,Les deux doivent découvrir rapidement s&#39;il y a une intersection entre deux tableaux。à ce moment-là,`array_intersect` Les fonctions sont un outil très utile。

</span><span><span class="hljs-comment">## un、array_intersect Introduction de la fonction</span></span><span>

`array_intersect` La fonction est:返回两个或多个数组中都存exister的值。autrement dit,Il compare les valeurs du tableau,然后输出un个新的数组,其中包含所有出现exister所有参数数组中的元素。

La syntaxe de base est la suivante:

```php
</span><span><span class="hljs-title function_ invoke__">array_intersect</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array2</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> ...</span><span><span class="hljs-variable">$arrays</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>
  • $ Array1 : Paramètre requis, le premier tableau à comparer.

  • $ array2 : Paramètre requis, le deuxième tableau à comparer.

  • ... $ tableaux : paramètres facultatifs, plus de tableaux qui doivent participer en comparaison.

  • Valeur de retour: un nouveau tableau contenant tous les éléments d'intersection.

2. Idées pour déterminer s'il y a l'intersection entre deux tableaux

L'idée est très simple:

  1. Utilisez Array_INTERSECT pour récupérer l'intersection de deux tableaux.

  2. Si le tableau de résultat n'est pas vide, cela signifie qu'il y a une intersection; Sinon, il n'existe pas.

3. Exemples de code

Voici un exemple simple qui montre comment déterminer si deux tableaux ont des intersections:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>, </span><span><span class="hljs-number">7</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>];

</span><span><span class="hljs-comment">// utiliser array_intersect Obtenez l&#39;intersection</span></span><span>
</span><span><span class="hljs-variable">$intersection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_intersect</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$intersection</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"两个数组存exister交集,L&#39;élément d&#39;intersection est: "</span></span><span>;
    </span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$intersection</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Il n&#39;y a pas d&#39;intersection entre deux tableaux"</span></span><span>;
}
</span></span>

Le résultat de la sortie est:

 <span><span>两个数组存exister交集,L&#39;élément d&#39;intersection est: </span><span><span class="hljs-title class_">Array</span></span><span> ( [</span><span><span class="hljs-number">3</span></span><span>] =&gt; </span><span><span class="hljs-number">4</span></span><span> [</span><span><span class="hljs-number">4</span></span><span>] =&gt; </span><span><span class="hljs-number">5</span></span><span> )
</span></span>

Comme vous pouvez le voir, l'intersection des tableaux $ array1 et $ array2 est [4, 5] , donc le résultat retourné n'est pas vide.

4. Méthode de jugement optimisé

Dans certains cas, nous nous soucions seulement s'il y a une intersection , pas un élément d'intersection spécifique. Cela peut simplifier la logique:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-string">'apple'</span></span><span>, </span><span><span class="hljs-string">'banana'</span></span><span>, </span><span><span class="hljs-string">'orange'</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-string">'grape'</span></span><span>, </span><span><span class="hljs-string">'peach'</span></span><span>, </span><span><span class="hljs-string">'banana'</span></span><span>];

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">array_intersect</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"存exister交集"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"不存exister交集"</span></span><span>;
}
</span></span>

Cela en résultera plus intuitivement.

5. Exemples de scénarios d'application

  1. Vérification de l'autorisation <br> Le tableau des rôles utilisateur se croit avec le tableau d'autorisation système. S'il n'est pas vide, cela signifie que l'utilisateur a des droits d'accès.

  2. Tag correspondant <br> Les balises d'intérêt des utilisateurs et les balises de contenu se croisent, et s'ils existent, un contenu pertinent sera recommandé.

  3. Filtrage des mots clés <br> Le tableau des mots clés entré par l'utilisateur et le tableau de mots sensible sont intersectés. S'il y a une intersection, il provoquera ou interceptera.

6. Résumé

  • Array_INTERSECT peut trouver efficacement l'intersection de plusieurs tableaux.

  • En jugeant si l'intersection est vide, vous pouvez savoir si les deux tableaux ont les mêmes éléments.

  • Il est largement utilisé dans les entreprises pratiques telles que les autorisations, les systèmes de recommandation et le filtrage de contenu.

En utilisant rationnellement Array_INTERSECT , nous pouvons utiliser du code minimaliste pour obtenir de puissants jugements logiques, améliorant ainsi considérablement l'efficacité de développement.

 <span></span>