Maison  >  Article  >  développement back-end  >  php différents éléments de 2 tableaux

php différents éléments de 2 tableaux

WBOY
WBOYoriginal
2023-05-05 20:55:06549parcourir

PHP est un langage de programmation très populaire, et nous rencontrons souvent divers problèmes qui nécessitent des tableaux comme types de données. L'une des questions courantes est de savoir comment trouver les différents éléments dans deux tableaux. Cet article présentera trois méthodes courantes pour résoudre ce problème.

Méthode 1 : Utilisez la fonction array_diff()

PHP fournit une fonction très pratique pour comparer différents éléments de deux tableaux. Cette fonction est array_diff().

Par exemple, nous avons deux tableaux, $arr1 et $arr2 :

$arr1 = array('apple', 'banana', 'orange', 'pear');
$arr2 = array('apple', 'banana', 'kiwi', 'grape');

Nous voulons connaître les différents éléments dans les deux tableaux, nous pouvons ensuite utiliser Le array_diff () est la suivante :

$diff = array_diff($arr1, $arr2);
print_r($diff);

Le résultat de sortie est :

Array
(
    [2] => orange
    [3] => pear
)

Méthode 2 : utilisez la fonction array_diff_key()

Si nous voulons pour comparer des tableaux Pour les clés au lieu des valeurs, nous pouvons utiliser la fonction array_diff_key() pour résoudre le problème.

Par exemple, nous avons deux tableaux, $arr1 et $arr2, où les clés de $arr1 sont 'a', 'b', 'c' et la clé de $arr2 est 'a ', 'd', 'e', ​​​​nous voulons connaître les différentes clés dans les deux tableaux, alors nous pouvons utiliser la fonction array_diff_key() comme suit :

$arr1 = array('a'=>1, 'b'=>2, 'c'=>3);
$arr2 = array('a'=>1, 'd'=>4, 'e'=>5);
$diff = array_diff_key($arr1, $arr2);
print_r($diff);

Le résultat de sortie est :

Array
(
    [b] => 2
    [c] => 3
)

Méthode 3 : Utiliser la boucle foreach

En plus d'utiliser les fonctions prédéfinies fournies par PHP, nous pouvons également utiliser la boucle foreach pour comparer différents éléments de deux tableaux.

Par exemple, nous avons deux tableaux, $arr1 et $arr2 :

$arr1 = array('apple', 'banana', 'orange', 'pear');
$arr2 = array('apple', 'banana', 'kiwi', 'grape');

Nous voulons connaître les différents éléments dans les deux tableaux, nous pouvons ensuite utiliser le foreach La boucle est implémentée comme suit :

$diff = array();
foreach($arr1 as $val) {
    if (!in_array($val, $arr2)) {
        $diff[] = $val;
    }
}
foreach($arr2 as $val) {
    if (!in_array($val, $arr1)) {
        $diff[] = $val;
    }
}
print_r($diff);

Le résultat de sortie est :

Array
(
    [2] => orange
    [3] => pear
    [4] => kiwi
    [5] => grape
)

Summary

Les trois méthodes ci-dessus sont couramment utilisées pour découvrir la différence. entre deux tableaux Il existe différentes méthodes, chaque méthode a ses propres caractéristiques et scénarios applicables, et doit être sélectionnée et utilisée en fonction de la situation réelle. Quelle que soit la méthode utilisée, lors de la comparaison de tableaux, vous devez prêter attention à des facteurs tels que le type et la quantité de clés et de valeurs du tableau pour garantir l'exactitude des résultats de la comparaison.

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