Maison  >  Article  >  développement back-end  >  Comment supprimer les données en double dans un tableau en php

Comment supprimer les données en double dans un tableau en php

PHPz
PHPzoriginal
2023-04-25 09:01:151028parcourir

En PHP, le tableau est un type de données important, qui peut facilement stocker plusieurs données. Mais dans les applications réelles, des données répétées dans le tableau peuvent nous causer des problèmes et même provoquer des erreurs de programme. Par conséquent, il est nécessaire que nous apprenions à supprimer les données en double d’un tableau.

Il existe de nombreuses façons de dédupliquer des tableaux PHP. Ci-dessous, je présenterai quatre méthodes couramment utilisées.

1. Utilisez la fonction array_unique

La fonction array_unique peut supprimer les éléments en double dans un tableau. L'exemple de code est le suivant :

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

Le résultat de sortie est :

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

Dans le code ci-dessus, nous définissons d'abord un tableau avec des éléments en double. , puis utilisez la fonction array_unique pour supprimer les éléments en double du tableau et afficher le résultat.

Il convient de noter que la fonction array_unique conservera le premier élément du tableau par défaut et supprimera les éléments en double suivants. Si vous devez conserver la dernière occurrence d'éléments en double, vous pouvez utiliser la combinaison des fonctions array_reverse et array_unique :

$arr = array('a', 'b', 'c', 'a');
$arr = array_reverse($arr);
$arr = array_unique($arr);
$arr = array_reverse($arr);
print_r($arr);

Le résultat de sortie est :

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

2. Utilisez le parcours en boucle pour supprimer les éléments en double

Nous pouvons parcourir le tableau et utilisez la fonction unset Supprimer les éléments en double. L'exemple de code est le suivant :

$arr = array('a', 'b', 'c', 'a');
for ($i = 0; $i < count($arr); $i++) {
    for ($j = $i + 1; $j < count($arr); $j++) {
        if ($arr[$i] == $arr[$j]) {
            unset($arr[$j]);
        }
    }
}
print_r($arr);

Le résultat de sortie est :

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

Dans le code ci-dessus, nous utilisons une boucle à deux niveaux pour parcourir le tableau, en pointant d'abord $i vers le premier élément du tableau, puis en pointant $j vers $i les éléments suivants. S'il s'avère que $i et $j sont égaux, utilisez la fonction unset pour supprimer l'élément $j et enfin afficher le résultat.

3. Utilisez la fonction array_flip

Si les éléments du tableau sont uniques (c'est-à-dire non répétés), nous pouvons utiliser la fonction array_flip pour échanger les clés et les valeurs, puis utiliser la fonction array_flip pour les échanger, afin que les éléments en double puissent être supprimés. L'exemple de code est le suivant :

$arr = array('a', 'b', 'c');
$arr = array_flip($arr);
$arr = array_flip($arr);
print_r($arr);

Le résultat de sortie est :

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

4. Utilisation de la fonction array_reduce

Nous pouvons utiliser la fonction array_reduce pour compresser le tableau en une valeur, qui est le résultat de données itérables. Dans notre cas, nous pouvons prendre chaque élément du tableau comme une clé avec une valeur de 1, puis compresser ces clés dans un tableau via array_reduce. L'exemple de code est le suivant :

$arr = array('a', 'b', 'c', 'a');
$arr = array_reduce($arr, function ($memo, $item) {
    $memo[$item] = 1;
    return $memo;
}, array());
$arr = array_keys($arr);
print_r($arr);

Le résultat de sortie est :

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

Dans le code ci-dessus, nous utilisons la fonction array_reduce pour prendre chaque élément du tableau comme clé, définissons la valeur sur 1, puis utilisons array_keys fonction pour convertir la clé en un élément du tableau et afficher le résultat.

Résumé

Il existe de nombreuses façons de supprimer les données en double dans les tableaux en PHP. Nous pouvons choisir la méthode appropriée en fonction de la situation réelle. Parmi elles, la fonction array_unique est la méthode la plus courante et la plus simple, et il est recommandé aux débutants de la maîtriser d'abord.

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