Maison  >  Article  >  développement back-end  >  Comment supprimer les mêmes éléments de deux tableaux en php

Comment supprimer les mêmes éléments de deux tableaux en php

PHPz
PHPzoriginal
2023-04-24 09:07:12969parcourir

En programmation PHP, les tableaux sont des types de données très pratiques. Cependant, nous pouvons rencontrer quelques difficultés lorsque nous devons supprimer des éléments identiques de deux tableaux. Cet article présentera trois méthodes pour supprimer des éléments identiques de deux tableaux.

Méthode 1 : Utiliser la fonction array_intersect

La fonction array_intersect est une fonction intégrée en PHP, utilisée pour obtenir l'intersection entre deux ou plusieurs tableaux. Cette fonction renverra un nouveau tableau contenant les éléments présents dans les deux tableaux.

Sur cette base, nous pouvons supprimer ces éléments coexistants grâce à la fonction array_diff. La fonction de la fonction array_diff est d'obtenir la différence entre deux tableaux et de renvoyer un nouveau tableau.

Exemple de code :

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$intersect_array = array_intersect($first_array, $second_array);
$result_array = array_diff($first_array, $intersect_array);

print_r($result_array);

Résultat d'exécution :

Array
(
    [1] => banana
    [3] => peach
)

Méthode 2 : Utiliser la fonction array_unique

La fonction array_unique est une fonction intégrée en PHP, utilisée pour supprimer les éléments en double d'un tableau et renvoyer un nouveau tableau.

Lors de la suppression des mêmes éléments de deux tableaux, nous pouvons fusionner les deux tableaux dans un nouveau tableau, puis utiliser la fonction array_unique pour supprimer les doublons. Le nouveau tableau après déduplication ne contient que des éléments différents des deux tableaux d'origine.

Exemple de code :

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$merged_array = array_merge($first_array, $second_array);
$result_array = array_unique($merged_array);

print_r($result_array);

Résultat d'exécution :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => peach
    [5] => pear
    [6] => grape
)

Méthode 3 : Utiliser la fonction personnalisée

Si nous ne voulons pas utiliser la fonction intégrée de PHP, nous pouvons également écrire nous-mêmes une fonction pour supprimer les mêmes éléments du deux tableaux.

L'implémentation de cette fonction est très simple. Il vous suffit de parcourir le premier tableau et de déterminer si l'élément apparaît dans le deuxième tableau. Si tel est le cas, supprimez-le du premier tableau.

Exemple de code :

function remove_duplicate_elements($first_array, $second_array) {
    foreach ($first_array as $key => $value) {
        if (in_array($value, $second_array)) {
            unset($first_array[$key]);
        }
    }
    return $first_array;
}

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$result_array = remove_duplicate_elements($first_array, $second_array);

print_r($result_array);

Résultat d'exécution :

Array
(
    [1] => banana
    [3] => peach
)

Résumé

En programmation PHP, supprimer les mêmes éléments de deux tableaux est une opération courante. Cet article présente trois méthodes pour atteindre cet objectif, à savoir l'utilisation des fonctions array_intersect et array_diff, l'utilisation de la fonction array_unique et les fonctions personnalisées. Nous pouvons choisir différentes méthodes en fonction des besoins réels. La mise en œuvre de ces méthodes est très simple, mais l’optimisation et les performances du programme doivent continuer à être améliorées.

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