Apprenez trois méthodes pour obtenir les ensembles de différences de plusieurs tableaux (Collection)

WBOY
Libérer: 2023-04-10 19:30:02
original
3655 Les gens l'ont consulté

Dans l'article précédent "Apprenez trois méthodes pour obtenir l'intersection de plusieurs tableaux en cinq minutes (collection)", nous avons présenté en détail comment obtenir l'intersection de plusieurs tableaux dans les opérations sur les tableaux PHP. découvrez comment obtenir l'ensemble des différences de plusieurs tableaux dans les opérations sur les tableaux. J'espère que cela aidera tout le monde !

Apprenez trois méthodes pour obtenir les ensembles de différences de plusieurs tableaux (Collection)

Dans l'article précédent nous avons appris que si nous voulons obtenir l'intersection entre plusieurs tableaux, nous pouvons utiliser la fonction array_intersect, la fonction array_intersect_key et array_intersect_assoc utilise différentes méthodes pour obtenir l'intersection entre les tableaux. Puisqu'il existe une méthode pour obtenir l'intersection entre les tableaux en PHP, il existe également une méthode pour obtenir la différence entre les tableaux PHP. array_intersect函数、array_intersect_key函数和array_intersect_assoc函数分别以不同的方法来获取数组之间的交集。既然在PHP中有能够获取数组间交集的方法那同时也会有获取PHP数组间差集的方法。

获取数组间差集的方法有很多,与获取交集类似,我们也可以通过比较键值、比较键名和比较键值与键名的方法来比较数组,然后获取数组间的差集。下面我们就分别来看一下这三种方法的使用吧。

比较键值-<span style="font-size: 20px;">array_diff</span>函数

在PHP中内置了array_diff函数用来通过比较键值的方式来比较数组,然后返回数组间的差集。array_diff函数的基本语法格式如下:

array_diff(array1,array2,array3...);
Copier après la connexion

其中需要注意的是,参数array123表示的是用来比较的数组,返回的结果差集数组,该数组中的元素包括在了第一个数组元素中。返回数组是第一个数组中其他数组没有的值,在返回的数组中键名保持不变。

下面我们通过示例来看一下array_diff函数的使用,示例如下:

<?php
$fruit1 = array("Apple","Banana","Orange");
$fruit2 = array("Pear","Apple","Grape");
$fruit3 = array("Watermelon","Orange","Apple");
$intersection = array_diff($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>
Copier après la connexion

输出结果:

Apprenez trois méthodes pour obtenir les ensembles de différences de plusieurs tableaux (Collection)

通过上述示例我们通过array_diff函数,返回的结果正是数组1与其他数组的差集。也就是返回的结果正是数组1中有但是其他数组中没有的元素。当然了这是比较元素的键值,下面我们来看一下通过比较元素的键名,返回的结果有什么不同。

比较键名-array_diff_key函数

在PHP中可以通过array_intersect_key函数来比较数组间的键名然后返回数组间的交集,与之类似的就是array_diff_key函数能够比较键名然后返回数组间的差集。

array_diff_key函数的基本语法格式如下:

array_diff_key(array1,array2,array3...);
Copier après la connexion

其中需要注意的是:参数array123表示的需要比较的数组,返回的差集数组中的元素都是数组1中的元素,但是并不在其他的数组元素中。

接下来我们通过示例来看一下array_diff_key函数的应用,示例如下:

<?php
$fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange");
$fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape");
$fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple");
$intersection = array_diff_key($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>
Copier après la connexion

输出结果:

Apprenez trois méthodes pour obtenir les ensembles de différences de plusieurs tableaux (Collection)

通过上述示例我们就是通过array_diff_key函数来进行比较数组间的键名,然后返回差集,返回的结果正是数组1中有的键名但是其他的数组元素中没有的键名。这是通过比较键名,下面我们来看一下同时比较键值和键名应该怎样操作。

比较键值与键名-array_diff_assoc函数

在PHP中可以通过array_intersect_assoc函数比较键值与键名,然后返回的结果是数组元素中的交集,与之类似的就是array_diff_assoc函数它也是比较键值与键名,但是返回的结果是数组元素中的差集。

array_diff_assoc函数的基本语法格式如下:

array_diff_assoc(array1,array2,array3...);
Copier après la connexion

其中需要注意的是:参数array123表示的需要比较的数组,通过比较键值与键名,返回的差集数组中的元素都是数组1中的元素,但是并不在其他的数组元素中。

下面我们通过示例来看一下array_diff_assoc函数的应用,示例如下:

<?php
$fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange");
$fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape");
$fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple");
$intersection = array_diff_assoc($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>
Copier après la connexion

输出结果:

Apprenez trois méthodes pour obtenir les ensembles de différences de plusieurs tableaux (Collection)

通过上述示例我们通过array_diff_assoc

Il existe de nombreuses façons d'obtenir la différence entre les tableaux. Semblable à l'obtention de l'intersection, nous pouvons également comparer les tableaux en comparant les valeurs de clé, en comparant les noms de clé et en comparant les valeurs de clé et les noms de clé, puis obtenir la différence entre les tableaux. . Examinons séparément l’utilisation de ces trois méthodes.

Comparer les valeurs clés-<span style="font-size: 20px;">array_diff</span>Fonction

La fonction array_diff est intégrée à PHP pour comparer les tableaux en comparant les valeurs clés, puis. renvoie la différence entre les tableaux. Le format de syntaxe de base de la fonction array_diff est le suivant : 🎜rrreee🎜Il est à noter que le paramètre array123 représente le tableau utilisé pour la comparaison, et le tableau de différence de résultat renvoyé, les éléments de ce tableau sont inclus dans le premier élément du tableau. Le tableau renvoyé est la valeur du premier tableau qui n'est pas trouvée dans les autres tableaux, et les noms de clé dans le tableau renvoyé restent inchangés.
🎜🎜Jetons un coup d'œil à l'utilisation de la fonction array_diff à travers un exemple. L'exemple est le suivant :
🎜rrreee🎜Résultat de sortie :
🎜🎜 Apprenez trois méthodes pour obtenir les ensembles de différences de plusieurs tableaux (Collection)🎜🎜Grâce à ce qui précède Par exemple, nous passons array_diff Function, le résultat renvoyé est exactement la différence entre le tableau 1 et les autres tableaux. Autrement dit, le résultat renvoyé correspond exactement aux éléments qui se trouvent dans le tableau 1 mais pas dans les autres tableaux. Bien sûr, il s'agit de comparer les valeurs clés des éléments. Jetons un coup d'œil à la différence dans les résultats renvoyés en comparant les noms clés des éléments. 🎜🎜Comparer le nom de la clé - fonction array_diff_key🎜🎜En PHP, vous pouvez passer array_intersect_key La fonction compare les noms de clés entre les tableaux et renvoie l'intersection entre les tableaux. De même, la fonction array_diff_key compare les noms de clés et renvoie la différence entre les tableaux. Le format de syntaxe de base de la fonction 🎜🎜array_diff_key est le suivant : 🎜rrreee🎜Il convient de noter que le paramètre array123 représente le tableau qui doit être comparé et que les éléments du tableau de différence renvoyé sont tous les éléments du tableau 1 , mais pas dans les autres éléments du tableau.
🎜🎜Ensuite, examinons l'application de la fonction array_diff_key à travers un exemple. L'exemple est le suivant :
🎜rrreee🎜Résultat de sortie :
🎜🎜Apprenez trois méthodes pour obtenir les ensembles de différences de plusieurs tableaux (Collection)🎜🎜Par Dans l'exemple ci-dessus, nous passons array_diff_key compare les noms de clé entre les tableaux, puis renvoie l'ensemble de différences. Le résultat renvoyé est exactement le nom de clé dans le tableau 1 mais pas dans les autres éléments du tableau. Cela se fait en comparant les noms de clés. Voyons comment comparer les valeurs de clé et les noms de clé en même temps. 🎜🎜Comparer la valeur de la clé et le nom de la clé - la fonction array_diff_assoc🎜🎜 peut être transmise en PHP via array_intersect_assoc compare la valeur de la clé et le nom de la clé, puis renvoie le résultat qui est l'intersection des éléments du tableau. Semblable à la fonction array_diff_assoc, elle compare également la clé. value et le nom de la clé, mais le résultat renvoyé est la différence entre les éléments du tableau. Le format de syntaxe de base de la fonction 🎜🎜array_diff_assoc est le suivant : 🎜rrreee🎜Il est à noter que le paramètre array123 représente le tableau qui doit être comparé en comparant la valeur de la clé et le nom de la clé. , le tableau de différence renvoyé Les éléments sont tous des éléments du tableau 1, mais ne le sont pas dans les autres éléments du tableau.
🎜🎜Regardons l'application de la fonction array_diff_assoc à travers un exemple. L'exemple est le suivant : 🎜rrreee🎜Résultat de sortie :
🎜🎜Apprenez trois méthodes pour obtenir les ensembles de différences de plusieurs tableaux (Collection)🎜🎜À travers l'exemple ci-dessus, nous passons array_diff_assoc La fonction compare les valeurs de clé et les noms de clé entre les tableaux, puis renvoie l'ensemble de différences. Le résultat renvoyé est exactement l'élément du tableau 1, mais il ne se trouve pas dans les autres tableaux. 🎜🎜Si vous êtes intéressé, vous pouvez cliquer sur "🎜Tutoriel vidéo PHP🎜" pour en savoir plus sur les connaissances 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!

Étiquettes associées:
source:PHP,数组
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