Maison > développement back-end > Problème PHP > 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
Libérer: 2023-04-27 10:00:28
original
498 Les gens l'ont consulté

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

Le code ci-dessus affichera ce qui suit :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

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

Le code ci-dessus affichera ce qui suit :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

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

Le code ci-dessus affichera ce qui suit :

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

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

Le code ci-dessus affichera ce qui suit :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

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!

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