<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie du contenu n'a rien à voir avec l'article,Utilisé uniquement pour la séparation d'affichage</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"L'article commence comme suit..."</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-comment"># Comment utiliserarray_intersectLa fonction détermine s'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'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.
L'idée est très simple:
Utilisez Array_INTERSECT pour récupérer l'intersection de deux tableaux.
Si le tableau de résultat n'est pas vide, cela signifie qu'il y a une intersection; Sinon, il n'existe pas.
Voici un exemple simple qui montre comment déterminer si deux tableaux ont des intersections:
<span><span><span class="hljs-meta"><?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'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'élément d'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'y a pas d'intersection entre deux tableaux"</span></span><span>;
}
</span></span>
Le résultat de la sortie est:
<span><span>两个数组存exister交集,L'élément d'intersection est: </span><span><span class="hljs-title class_">Array</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">4</span></span><span>] => </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.
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"><?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.
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.
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é.
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.
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>