Maison  >  Article  >  développement back-end  >  Comment déterminer si les mêmes éléments existent dans deux tableaux en php

Comment déterminer si les mêmes éléments existent dans deux tableaux en php

PHPz
PHPzoriginal
2023-04-25 18:28:20462parcourir

Dans le développement PHP, il est souvent nécessaire d'exploiter et de traiter des tableaux. L'une des questions courantes est de savoir comment déterminer s'il existe les mêmes éléments dans deux tableaux ou si un élément existe dans un tableau. Cet article présentera le problème de la non-existence de deux ensembles de tableaux, y compris les définitions, les solutions et les étapes de mise en œuvre.

1. Définition du problème

Supposons qu'il existe deux ensembles de tableaux, $arr1 et $arr2, tous deux composés de plusieurs éléments. Nous devons maintenant déterminer s'il y a des éléments dans $arr1 qui n'existent pas dans $arr2, c'est-à-dire des éléments qui existent dans $arr1 mais pas dans $arr2, et afficher ces éléments.

2. Solution au problème

Pour résoudre ce problème, deux méthodes peuvent être utilisées, à savoir le parcours de boucle et la fonction array_diff.

  1. Méthode de parcours en boucle

Il s'agit d'une méthode relativement basique et traditionnelle, c'est-à-dire utiliser une boucle telle que for ou foreach pour parcourir le tableau $arr1 et ajouter des éléments qui n'existent pas dans $arr2 à un nouveau tableau .

Exemple de code :

$diff_arr = array(); // 用于保存不同的元素
foreach ($arr1 as $val) {
    if (!in_array($val, $arr2)) { // 判断元素是否存在于 $arr2 中
        $diff_arr[] = $val; // 添加到 $diff_arr 数组中
    }
}
print_r($diff_arr); // 打印输出不同的元素
  1. Méthode de fonction array_diff

PHP fournit une fonction array_diff spécifiquement utilisée pour comparer la différence entre deux tableaux. Elle peut être utilisée pour comparer quels éléments de deux tableaux existent dans un tableau mais pas dans l'autre. . n'existe pas dans un tableau.

Exemple de code :

$diff_arr = array_diff($arr1, $arr2); // 用 array_diff 函数比较差异
print_r($diff_arr); // 打印输出不同的元素

3. Étapes de mise en œuvre

Utilisez les deux méthodes ci-dessus pour implémenter ce problème. Les étapes spécifiques sont les suivantes :

  1. Créez deux tableaux $arr1 et $arr2.
  2. Utilisez la méthode de parcours de boucle for ou foreach pour parcourir le tableau $arr1. Si l'élément actuel n'existe pas dans $arr2, ajoutez-le au tableau $diff_arr.
$diff_arr = array();
foreach ($arr1 as $val) {
    if (!in_array($val, $arr2)) { // 判断元素是否存在于 $arr2 中
        $diff_arr[] = $val; // 添加到 $diff_arr 数组中
    }
}
  1. Utilisez la méthode de la fonction array_diff pour comparer directement la différence entre $arr1 et $arr2 et enregistrez le résultat sous le tableau $diff_arr.
$diff_arr = array_diff($arr1, $arr2); // 用 array_diff 函数比较差异
  1. Sortez les éléments dans le tableau $diff_arr.
print_r($diff_arr);

4. Résumé

Cet article présente le problème de constater que deux ensembles de tableaux n'existent pas en PHP et propose deux solutions. Quelle que soit la méthode choisie, il faut veiller à assurer la cohérence des types de données dans le tableau pour éviter les exceptions du programme. Les deux méthodes ont leurs propres avantages et inconvénients, et le choix doit être basé sur le scénario réel. Cela permet aux développeurs d'effectuer rapidement des comparaisons de tableaux et d'afficher les résultats.

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