Maison > Article > développement back-end > Quelle est la méthode pour obtenir l'intersection et la différence des tableaux en php
1. Intersection de tableaux array_intersect()
La fonction array_intersect() renvoie un tableau avec les clés conservées, Ce tableau se compose uniquement de valeurs qui apparaissent dans le premier tableau et apparaissent dans tous les autres tableaux d'entrée. Sa forme est la suivante :
array array_intersect(array array1,array array2[,arrayN…])
L'exemple suivant renverra tous les fruits qui apparaissent dans le tableau $fruit1 et apparaissent également dans $fruit2 et $fruit3 :
<?php $fruit1 = array("Apple","Banana","Orange"); $fruit2 = array("Pear","Apple","Grape"); $fruit3 = array("Watermelon","Orange","Apple"); $intersection = array_intersect($fruit1, $fruit2, $fruit3); print_r($intersection); // output // Array ( [0] => Apple ) ?>
Uniquement dans les deux éléments Ce n'est que lorsqu'ils sont égaux et ont le même type de données que la fonction array_intersect() les considérera comme identiques.
Recommandations associées : "Tutoriel PHP"
Intersection de tableaux associatifs array_intersect_assoc()
Fonction array_intersect_assoc() et array_intersect () est fondamentalement la même chose, sauf qu'il prend également en compte les clés du tableau dans la comparaison. Par conséquent, seules les paires clé/valeur qui apparaissent dans le premier tableau et qui apparaissent également dans tous les autres tableaux d'entrée sont renvoyées dans le tableau de résultats.
a la forme suivante :
array array_intersect_assoc(array array1,array array2[,arrayN…])
L'exemple suivant renvoie toutes les paires clé/valeur qui apparaissent dans le tableau $fruit1 et apparaissent également dans $fruit2 et $fruit3 :
<?php $fruit1 = array("red"=>"Apple","yellow"=>"Banana","orange"=>"Orange"); $fruit2 = array("yellow"=>"Pear","red"=>"Apple","purple"=>"Grape"); $fruit3 = array("green"=>"Watermelon","orange"=>"Orange","red"=>"Apple"); $intersection = array_intersect_assoc($fruit1, $fruit2, $fruit3); print_r($intersection); // output // Array ( [red] => Apple ) ?>
2. Différence de tableau array_diff()
La fonction array_diff() renvoie les valeurs qui apparaissent dans le premier tableau mais ne se trouvent pas dans les autres tableaux d'entrée. Cette fonction est l'opposé de array_intersect().
array array_diff(array array1,array array2[,arrayN…])
Les exemples sont les suivants :
<?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); // output // Array ( [1] => Banana ) ?>
Ensemble de différences de tableaux associatifs array_diff_assoc()
La fonction array_diff_assoc() est fondamentalement la même que array_diff( ), sauf que les clés du tableau sont également prises en compte lors de la comparaison. Par conséquent, seules les paires clé/valeur qui apparaissent dans le premier tableau mais pas dans les autres tableaux d’entrée sont renvoyées dans le tableau résultat. Sa forme est la suivante :
array array_diff_assoc(array array1,array array2[,arrayN…])
L'exemple suivant renvoie uniquement [jaune] => Banana, car cette paire clé/valeur spéciale apparaît dans $fruit1, mais n'existe pas dans $fruit2 et $fruit3 .
<?php $fruit1 = array("red"=>"Apple","yellow"=>"Banana","orange"=>"Orange"); $fruit2 = array("yellow"=>"Pear","red"=>"Apple","purple"=>"Grape"); $fruit3 = array("green"=>"Watermelon","orange"=>"Orange","red"=>"Apple"); $intersection = array_diff_assoc($fruit1, $fruit2, $fruit3); print_r($intersection); // output // Array ( [yellow] => Banana ) ?>
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!