Maison  >  Article  >  développement back-end  >  Comment trouver la différence entre deux tableaux en php

Comment trouver la différence entre deux tableaux en php

zbt
zbtoriginal
2023-08-04 17:04:462004parcourir

Comment trouver la différence entre deux tableaux en PHP : 1. Utilisez la fonction array_diff() Cette fonction accepte deux tableaux ou plus comme paramètres et renvoie les éléments qui apparaissent dans le premier tableau mais n'existent pas dans les autres tableaux. . Utilisez une boucle et la fonction in_array() pour parcourir les éléments du premier tableau un par un, et utilisez la fonction in_array() pour vérifier si l'élément existe dans le deuxième tableau 3. Utilisez la fonction array_diff_key() ; . Utilisez la fonction array_udiff (), etc.

Comment trouver la différence entre deux tableaux en php

L'environnement d'exploitation de ce tutoriel : système windows10, version php8.1.3, ordinateur DELL G3.

En PHP, nous avons souvent besoin de traiter et de comparer des tableaux. Une opération courante consiste à trouver la différence entre deux tableaux, c'est-à-dire trouver les éléments qui apparaissent dans un tableau mais pas dans l'autre. Cet article présentera plusieurs méthodes pour réaliser cette opération.

Méthode 1 : utiliser la fonction array_diff()

Le moyen le plus simple consiste à utiliser la fonction array_diff() intégrée de PHP. Cette fonction accepte deux tableaux ou plus comme arguments et renvoie les éléments qui apparaissent dans le premier tableau mais ne sont pas présents dans les autres tableaux.

L'exemple de code est le suivant :

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 4, 5, 6, 7];
$result = array_diff($array1, $array2);
print_r($result);

Le résultat de sortie est :

Array
(
[0] => 1
[1] => 2
)

Cela montre que les éléments qui apparaissent dans $array1 mais n'existent pas dans $array2 sont 1 et 2.

Méthode 2 : Utiliser les boucles et la fonction in_array()

En plus de la fonction array_diff(), nous pouvons également utiliser les fonctions boucles et in_array() pour trouver la différence entre deux tableaux. Cette méthode parcourt les éléments du premier tableau un par un et vérifie si l'élément est présent dans le deuxième tableau à l'aide de la fonction in_array().

L'exemple de code est le suivant :

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 4, 5, 6, 7];
$result = [];
foreach ($array1 as $element) {
if (!in_array($element, $array2)) {
$result[] = $element;
}
}
print_r($result);

Le résultat de sortie est :

Array
(
[0] => 1
[1] => 2
)

Troisième méthode :

Une autre méthode consiste à utiliser la fonction array_diff_key(). Cette fonction accepte deux tableaux ou plus comme arguments et renvoie les valeurs clés qui existent dans le premier tableau mais pas dans les autres tableaux.

L'exemple de code est le suivant :

$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['c' => 3, 'd' => 4, 'e' => 5];
$result = array_diff_key($array1, $array2);
print_r($result);

Le résultat de sortie est :

Array
(
[a] => 1
[b] => 2
)

Cela montre que les valeurs clés qui existent dans $array1 mais pas dans $array2 sont 'a' et 'b'.

Méthode 4 : Utilisez la fonction array_udiff()

La dernière méthode consiste à utiliser la fonction array_udiff(). Cette fonction nécessite la transmission d'une fonction de comparaison supplémentaire définie par l'utilisateur pour comparer les éléments du tableau.

L'exemple de code est le suivant :

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 4, 5, 6, 7];
$result = array_udiff($array1, $array2, function($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
});
print_r($result);

Le résultat de sortie est :

Array
(
[0] => 1
[1] => 2
)

Résumé

Il existe de nombreuses façons de trouver la différence entre deux tableaux en PHP, notamment en utilisant la fonction array_diff(), la boucle et in_array (), la fonction array_diff_key() et la fonction array_udiff(). Sélectionnez la méthode appropriée pour mettre en œuvre le calcul de la différence en fonction des besoins spécifiques et des exigences de performance. .

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