Maison > Article > développement back-end > Apprenez trois méthodes pour obtenir les ensembles de différences de plusieurs tableaux (Collection)
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 !
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...);
其中需要注意的是,参数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); ?>
输出结果:
通过上述示例我们通过array_diff
函数,返回的结果正是数组1与其他数组的差集。也就是返回的结果正是数组1中有但是其他数组中没有的元素。当然了这是比较元素的键值,下面我们来看一下通过比较元素的键名,返回的结果有什么不同。
比较键名-array_diff_key
函数
在PHP中可以通过array_intersect_key
函数来比较数组间的键名然后返回数组间的交集,与之类似的就是array_diff_key
函数能够比较键名然后返回数组间的差集。
array_diff_key
函数的基本语法格式如下:
array_diff_key(array1,array2,array3...);
其中需要注意的是:参数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); ?>
输出结果:
通过上述示例我们就是通过array_diff_key
函数来进行比较数组间的键名,然后返回差集,返回的结果正是数组1中有的键名但是其他的数组元素中没有的键名。这是通过比较键名,下面我们来看一下同时比较键值和键名应该怎样操作。
比较键值与键名-array_diff_assoc
函数
在PHP中可以通过array_intersect_assoc
函数比较键值与键名,然后返回的结果是数组元素中的交集,与之类似的就是array_diff_assoc
函数它也是比较键值与键名,但是返回的结果是数组元素中的差集。
array_diff_assoc
函数的基本语法格式如下:
array_diff_assoc(array1,array2,array3...);
其中需要注意的是:参数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); ?>
输出结果:
通过上述示例我们通过array_diff_assoc
Comparer les valeurs clés-<span style="font-size: 20px;">array_diff</span>
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. array_diff
à travers un exemple. L'exemple est le suivant :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. array_diff_key
à travers un exemple. L'exemple est le suivant :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. array_diff_assoc
à travers un exemple. L'exemple est le suivant : 🎜rrreee🎜Résultat de sortie :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!