Maison  >  Article  >  développement back-end  >  Apprentissage des tableaux PHP : comment comparer deux tableaux et trouver l'ensemble des différences

Apprentissage des tableaux PHP : comment comparer deux tableaux et trouver l'ensemble des différences

青灯夜游
青灯夜游original
2021-08-04 11:38:434578parcourir

Dans l'article précédent, nous avons présenté la méthode de comparaison de tableaux pour obtenir les mêmes éléments (intersection). Si vous êtes intéressé, vous pouvez cliquer pour lire → "Apprentissage des tableaux PHP : Comment comparer deux tableaux pour trouver l'intersection" . Puisque l'intersection peut être trouvée, l'ensemble des différences peut également être trouvé. Comment obtenir l'ensemble des différences ? Cet article vous présentera plusieurs façons de comparer des tableaux en PHP pour obtenir différents éléments (ensembles de différences).

Comme l'article précédent, jetons d'abord un coup d'œil à la fonction permettant de comparer deux tableaux et de trouver l'ensemble des différences. Il existe plusieurs fonctions intégrées à PHP. Cet article présente principalement les trois fonctions couramment utilisées : array_diff(), array_diff_key(. ), array_diff_assoc(), ils compareront les tableaux en termes de "valeur de clé", "nom de clé", "valeur de clé et nom de clé" respectivement, et renverront le tableau de différence. Les éléments de l'ensemble de différences proviendront du tableau comparé (). le premier paramètre).

C'est difficile à comprendre en vain. Utilisons des exemples de code pour voir comment array_diff(), array_diff_key() et array_diff_assoc() comparent les tableaux et trouvent les différences.

Nous avons les deux tableaux suivants :

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

1. Utilisez la fonction array_diff() - comparez les valeurs clés du tableau

array_diff($arr1,$arr2... ) fonction La comparaison uniquement des valeurs clés du tableau renverra un tableau de différence. Les éléments du tableau de différence existent dans le tableau comparé $arr1, mais n'existent pas dans d'autres paramètres. tableaux $arr2 ... dans. array_diff($arr1,$arr2...)函数只比较数组的键值,会返回一个差集数组,差集数组中的元素是存在于被比较的数组$arr1中,但不存在于其他参数数组$arr2...中的。

我们来看看上面的示例,$arr1数组和$arr2数组比较,只存在于$arr1数组的键值只有:“blue”,因此输出的结果为:

Apprentissage des tableaux PHP : comment comparer deux tableaux et trouver lensemble des différences

2、使用array_diff_key()函数--比较数组的键名

array_diff_key($arr1,$arr2...)函数只比较数组的键名,同样返回一个差集数组,差集数组中的元素是存在于被比较的数组$arr1中,但不存在于其他参数数组$arr2...中的。

而在上面的示例,$arr1数组和$arr2数组中有两个键名不相同,以数组$arr1为准就会得到值“"c"=>"blue"”和“"d"=>"yellow"”,因此输出的结果为:

Apprentissage des tableaux PHP : comment comparer deux tableaux et trouver lensemble des différences

3、使用array_diff_assoc()函数--比较数组的键名和键值

array_diff_assoc($arr1,$arr2...)函数会将数组的键名和键值都进行比较,同样返回一个差集数组,差集元素和array_diff()、array_diff_key()一样会从被比较的数组$arr1中获取。

上例中,$arr1数组和$arr2数组进行比较,有三个不相同的元素,然后以数组$arr1为准会得到值“"a"=>"red"”、“"c"=>"blue"”、“"d"=>"yellow"

Jetons un coup d'œil à l'exemple ci-dessus. Lorsque l'on compare le tableau $arr1 et le tableau $arr2, la valeur clé qui existe uniquement dans le tableau $arr1 est : "blue", donc le résultat de sortie est : <p><img src="https://img.php.cn/upload/image/596/931/947/1628048109162267.png" title="1628048109162267.png" alt="Apprentissage des tableaux PHP : comment comparer deux tableaux et trouver lensemble des différences"><img src="https://img.php.cn/upload/image/145/499/203/1628047489471629.png" title="1628047489471629.png" alt="Apprentissage des tableaux PHP : comment comparer deux tableaux et trouver lensemble des différences"></p> <p><a href="https://www.php.cn/course/list/29.html" target="_blank">2. Utilisez la fonction array_diff_key() - comparez les noms de clés du tableau</a></p>rrreee<p><code>array_diff_key($arr1,$arr2... )La fonction compare uniquement Le nom de clé du tableau renvoie également un tableau de différences. Les éléments du tableau de différences existent dans le tableau comparé $arr1, mais n'existent pas dans les autres tableaux de paramètres. $arr2.. . dans. Dans l'exemple ci-dessus, il y a deux noms de clés dans le tableau $arr1 et le tableau $arr2 qui sont différents. > est correctement, vous obtiendrez les valeurs ""c"=>"blue"" et ""d"=>"jaune"", donc le le résultat de sortie est :

🎜Apprentissage des tableaux PHP : comment comparer deux tableaux et trouver lensemble des différences🎜🎜🎜3 , utilisez la fonction array_diff_assoc() - comparez les noms de clés et les valeurs clés du tableau 🎜🎜rrreee🎜array_diff_assoc($arr1,$arr2...) La fonction Comparez les noms de clés et les valeurs de clé du tableau. Il renvoie également un tableau de différence. Les éléments de différence seront obtenus à partir du tableau comparé $arr1 tout comme array_diff() et array_diff_key(). 🎜🎜Dans l'exemple ci-dessus, le tableau $arr1 et le tableau $arr2 sont comparés. Il y a trois éléments différents, puis la valeur ""a"=>"red"", ""c"=>"blue"", ""d"= >"jaune" code>", donc le résultat de sortie est : 🎜🎜🎜🎜🎜D'accord, c'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜🎜Enfin, je recommande un tutoriel vidéo gratuit sur les tableaux PHP : 🎜Explication vidéo de la fonction tableau de fonctions PHP🎜, venez apprendre ! 🎜

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