php différents éléments de 2 tableaux

WBOY
Libérer: 2023-05-05 20:55:06
original
546 Les gens l'ont consulté

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');
Copier après la connexion
Copier après la connexion

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);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [2] => orange
    [3] => pear
)
Copier après la connexion

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);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [b] => 2
    [c] => 3
)
Copier après la connexion

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');
Copier après la connexion
Copier après la connexion

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);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [2] => orange
    [3] => pear
    [4] => kiwi
    [5] => grape
)
Copier après la connexion

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!

source:php.cn
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