Maison  >  Article  >  développement back-end  >  Comment supprimer les éléments en double d'un tableau en php

Comment supprimer les éléments en double d'un tableau en php

PHPz
PHPzoriginal
2023-04-27 09:11:00466parcourir

En PHP, un tableau est une structure de données fréquemment utilisée qui peut être utilisée pour stocker plusieurs valeurs. Dans le développement réel, nous devons souvent opérer sur des tableaux, par exemple en supprimant les éléments en double des tableaux. Cet article présentera plusieurs méthodes pour réaliser cette fonction.

  1. Utilisez la fonction array_unique

La fonction array_unique en PHP peut supprimer les éléments en double du tableau et renvoyer le tableau traité. Voici un exemple :

$array = array('a', 'b', 'c', 'a', 'd', 'b');
$new_array = array_unique($array);
print_r($new_array);

Le code ci-dessus affichera ce qui suit :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)

Remarque : l'utilisation de cette méthode réorganisera le tableau et éliminera les valeurs clés d'origine. Si vous devez conserver l'index du tableau d'origine, vous pouvez utiliser la méthode suivante.

  1. Utilisez la boucle foreach pour parcourir

Utilisez la boucle foreach pour parcourir le tableau afin de déterminer si un élément existe déjà, et s'il n'existe pas, ajoutez un nouveau tableau. Voici l'exemple de code :

$array = array('a', 'b', 'c', 'a', 'd', 'b');
$new_array = array();

foreach($array as $value) {
    if(!in_array($value, $new_array)) {
        $new_array[] = $value;
    }
}

print_r($new_array);

Le code ci-dessus affichera ce qui suit :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)

Cette méthode ne réorganise pas le tableau et peut conserver l'index d'origine.

  1. Utilisez les fonctions array_flip et array_keys

Utilisez la fonction array_flip pour utiliser la valeur du tableau comme clé et la clé comme valeur, puis utilisez la fonction array_keys pour obtenir la valeur clé afin de supprimer les éléments en double. Voici l'exemple de code :

$array = array('a', 'b', 'c', 'a', 'd', 'b');
$new_array = array_keys(array_flip($array));
print_r($new_array);

Le code ci-dessus affichera ce qui suit :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

Cette méthode ne réorganise pas non plus le tableau et peut conserver l'index d'origine.

  1. Utilisez la fonction array_reduce

Utilisez la fonction array_reduce pour réduire le tableau à une seule valeur en transmettant toutes les valeurs du tableau une par une à la fonction de rappel. Vous pouvez utiliser la valeur de retour de la fonction de rappel comme nouveau tableau et supprimer les doublons. Voici l'exemple de code :

$array = array('a', 'b', 'c', 'a', 'd', 'b');
$new_array = array_reduce($array, function(&$result, $item) {
    if(!in_array($item, $result)) {
        $result[] = $item;
    }
    return $result;
}, array());

print_r($new_array);

Le code ci-dessus affichera ce qui suit :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)

Cette méthode ne réorganise pas non plus le tableau et peut conserver l'index d'origine.

Résumé

Ce qui précède présente quatre méthodes pour supprimer les éléments en double dans un tableau, à savoir en utilisant la fonction array_unique, en utilisant le parcours de boucle foreach, en utilisant les fonctions array_flip et array_keys et en utilisant la fonction array_reduce. La méthode spécifique à choisir peut être décidée en fonction du scénario d'application et des besoins réels. Différentes méthodes présentent des avantages et des inconvénients différents.

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