Maison >développement back-end >Problème PHP >Comment trouver l'intersection de deux tableaux en php

Comment trouver l'intersection de deux tableaux en php

青灯夜游
青灯夜游original
2022-09-29 19:05:418351parcourir

Trois méthodes : 1. Utilisez array_intersect() pour comparer les valeurs des clés afin d'obtenir l'intersection, la syntaxe est "array_intersect(array 1, array 2)" ; 2. Utilisez array_intersect_key() pour comparer les noms des clés pour obtenir le intersection, la syntaxe est "array_intersect_key(array 1, array 2)" 2)"; 3. Comparez le nom de la clé et la valeur de la clé pour obtenir l'intersection, la syntaxe est "array_intersect_assoc(array 1, array 2)".

Comment trouver l'intersection de deux tableaux en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3

PHP fournit plusieurs fonctions pour comparer deux tableaux et trouver l'intersection. Ce qui suit présente principalement les trois fonctions couramment utilisées : array_intersect. () , array_intersect_assoc() et array_intersect_key().

Bon, passons au sujet ! Nous avons les deux tableaux suivants :

$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$arr2=array("a"=>"orange","b"=>"green","e"=>"pink","r"=>"yellow");

Comment trouver lintersection de deux tableaux en php

Utilisons des exemples de code pour voir comment array_intersect(), array_intersect_assoc() et array_intersect_key() comparent les tableaux pour trouver l'intersection.

1. fonction array_intersect() - compare les valeurs clés du tableau

array_intersect($arr1,$arr2...) La fonction compare uniquement les valeurs clés du tableau puis renvoie une intersection Un tableau contenant toutes les valeurs du tableau comparé $arr1 et de tout autre tableau de paramètres $arr2.... (Les éléments du tableau d'intersection sont tous des éléments du tableau comparé $arr1) array_intersect($arr1,$arr2...)函数只比较数组的键值,然后返回一个交集数组,该数组中包含了所有在被比较的数组$arr1中,同时也在任何其他参数数组$arr2...中的值。(交集数组中的元素都是选用被比较的数组$arr1中的元素)

$arr1数组和$arr2数组中都存在的键值有2个:“green”和“yellow”,然后从被比较的数组$arr1中选取交集元素,因此输出的结果为:

Comment trouver lintersection de deux tableaux en php

2、array_intersect_key()函数--比较数组的键名

array_intersect_key($arr1,$arr2...)只比较数组的键名,然后返回一个交集数组,交集元素会根据键名从被比较的数组$arr1中选取的。

我们来看看上面的示例,$arr1数组和$arr2数组中都存在的键名有2个:“a”和“b”,然后根据键名从被比较的数组$arr1中选取元素,因此输出的结果为:

Comment trouver lintersection de deux tableaux en php

3、array_intersect_assoc()函数--比较数组的键名和键值

array_intersect_assoc($arr1,$arr2...)会比较数组的键名和键值,然后返回一个交集数组。

在上面的示例中,$arr1数组和$arr2数组中键名和键值都相同的元素只有一个:“"b"=>"green"

Il existe deux valeurs clés ​​​​qui existent à la fois dans le tableau $arr1 et dans le tableau $arr2 : "green" et " jaune", puis sélectionnez l'élément d'intersection dans le tableau comparé $arr1, le résultat de sortie est donc :

Comment trouver lintersection de deux tableaux en phpComment trouver lintersection de deux tableaux en php

2. fonction array_intersect_key() - comparer les noms de clés des tableaux

rrreee🎜 array_intersect_ key ($arr1,$arr2...)Compare uniquement les noms de clés des tableaux, puis renvoie un tableau d'intersection. Les éléments d'intersection seront sélectionnés dans le tableau comparé $arr1. basé sur les noms de clés. 🎜🎜Jetons un coup d'œil à l'exemple ci-dessus. Il existe 2 noms de clés qui existent à la fois dans le tableau $arr1 et dans le tableau $arr2 : "a<.> » et « <code>b », puis sélectionnez les éléments du tableau comparé $arr1 en fonction du nom de la clé, le résultat de sortie est donc : 🎜🎜Comment trouver lintersection de deux tableaux en php🎜🎜🎜3. fonction - comparaison Le nom de clé et la valeur de clé du tableau🎜🎜rrreee🎜array_intersect_assoc($arr1,$arr2...) compareront le nom de clé et la valeur de clé du tableau, puis renverront un tableau d'intersection. 🎜🎜Dans l'exemple ci-dessus, il n'y a qu'un seul élément avec le même nom de clé et la même valeur de clé dans le tableau $arr1 et le tableau $arr2 : ""b"=>"green"", donc le résultat est Apprentissage recommandé pour : 🎜🎜🎜🎜🎜 : "🎜Tutoriel vidéo PHP🎜"🎜

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!

Déclaration:
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