Maison >développement back-end >Problème PHP >Comment supprimer les données en double d'un tableau en php

Comment supprimer les données en double d'un tableau en php

PHPz
PHPzoriginal
2023-04-24 09:12:473975parcourir

En programmation PHP, nous rencontrons souvent des situations où nous devons supprimer les données en double d'un tableau. Cet article présentera plusieurs méthodes couramment utilisées pour résoudre ce problème.

Méthode 1 : utilisez la fonction array_unique

La fonction array_unique est la fonction intégrée de PHP, qui peut supprimer les éléments en double d'un tableau et renvoyer un nouveau tableau. Cette fonction conservera le nom de la clé, mais réinitialisera le nom de la clé, c'est-à-dire que le nom de la clé d'origine ne sera pas conservé. L'exemple est le suivant :

$array = array(1, 2, 3, 3, 4, 5, 5);
$new_array = array_unique($array);
print_r($new_array);

Sortie :

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [4] => 4
    [5] => 5
)

Méthode 2 : Utiliser la boucle pour supprimer les doublons

Cette méthode est plus directe. Elle parcourt le tableau et vérifie si l'élément actuel est apparu à chaque fois. , ajoutez-le à un nouveau tableau, sinon ignoré. L'exemple est le suivant :

$array = array(1, 2, 3, 3, 4, 5, 5);
$new_array = array();
foreach ($array as $value) {
    if (!in_array($value, $new_array)) {
        $new_array[] = $value;
    }
}
print_r($new_array);

Sortie :

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Méthode 3 : Utilisez les fonctions array_flip et array_keys

Cette méthode est plus intelligente. Utilisez array_flip pour échanger les clés et les valeurs dans le tableau, supprimez les valeurs en double, puis utilisez array_keys pour obtenir les clés dans la clé du tableau d'origine. L'exemple est le suivant :

$array = array(1, 2, 3, 3, 4, 5, 5);
$array = array_flip($array);
$array = array_flip($array);
print_r(array_keys($array));

Sortie :

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 4
    [4] => 5
)

Il est à noter que cette méthode réinitialisera le nom de la clé, et le premier élément apparaissant sera conservé après suppression des doublons, donc le nom de clé du premier élément deviendra 0 .

Méthode 4 : Utilisez la fonction array_reduce

Cette méthode utilise la fonction array_reduce pour parcourir le tableau du début à la fin. Chaque élément est vérifié pour voir s'il est apparu, il est ajouté à un nouveau tableau. . Un exemple est le suivant :

$array = array(1, 2, 3, 3, 4, 5, 5);
$new_array = array_reduce($array, function($carry, $item) {
    if (!in_array($item, $carry)) {
        $carry[] = $item;
    }
    return $carry;
}, array());
print_r($new_array);

Sortie :

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Il convient de noter que cette méthode doit implémenter une fonction de rappel comme deuxième paramètre. La fonction de cette fonction de rappel est de parcourir le tableau et de renvoyer un nouveau tableau comme deuxième paramètre. résultat.

Conclusion

Il existe de nombreuses façons de supprimer les données en double des tableaux en PHP, mais l'efficacité et la lisibilité ne sont pas les mêmes. Choisir la méthode la plus appropriée en fonction de la situation réelle peut améliorer l'efficacité et la maintenabilité du code.

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