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

Comment supprimer les valeurs en double d'un tableau en php

PHPz
PHPzoriginal
2023-04-25 09:05:06580parcourir

PHP, en tant que langage de script côté serveur largement utilisé, doit souvent traiter des tableaux. L'un des problèmes les plus courants est de savoir comment supprimer les valeurs en double​​dans les tableaux. Cet article présentera plusieurs méthodes courantes pour résoudre ce problème.

1. Utilisez la fonction array_unique

La fonction array_unique est la fonction intégrée de PHP pour supprimer les valeurs en double dans un tableau. Son utilisation est très simple. Il vous suffit de transmettre le tableau qui doit être dédupliqué. il. Voici un exemple de code :

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

Le résultat du code ci-dessus sera :

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

Comme vous pouvez le voir, les valeurs en double​​dans le tableau d'origine sont supprimées et seule la valeur unique est conservée. Il convient de noter que la fonction array_unique ne conserve pas la relation clé-valeur dans le tableau d'origine par défaut. Par conséquent, si vous devez conserver la relation clé-valeur, vous pouvez réindexer le tableau en conjonction avec array_values ​​​​​​. fonction.

2. Utilisez des boucles pour dédupliquer

Une autre méthode de déduplication courante consiste à parcourir un tableau. La méthode spécifique consiste à comparer chaque élément du tableau avec l'élément situé derrière lui. Si des éléments en double sont trouvés, les éléments suivants sont supprimés via la fonction unset. Voici un exemple de code :

$arr = array(1, 2, 3, 3, 4, 5, 5);
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);

La sortie du code ci-dessus est la même que celle de l'utilisation de la fonction array_unique. Il convient de noter que la méthode d'utilisation de la déduplication de boucle est inefficace car elle nécessite plusieurs imbrications de boucles et la complexité temporelle est O(n²), elle n'est donc pas recommandée pour traiter de grandes quantités de données.

3. Utilisez les fonctions array_flip et array_values ​​​​

Une autre méthode de déduplication courante consiste à utiliser la valeur du tableau comme valeur clé, puis à réindexer la valeur clé via la fonction array_values ​​​​. La méthode spécifique consiste d'abord à échanger les valeurs clés et les valeurs​​dans le tableau via la fonction array_flip, afin de garantir que les valeurs ​​​​dans le tableau sont uniques, puis à réindexer la clé valeurs via la fonction array_values ​​​​. Voici un exemple de code :

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

La sortie du code ci-dessus est la même que celle de l'utilisation de la fonction array_unique. Il convient de noter que puisque deux fonctions sont utilisées pour terminer l'opération, cela peut ne pas être aussi efficace que l'utilisation de la fonction array_unique.

Pour résumer, voici plusieurs façons courantes de supprimer les valeurs en double des tableaux en PHP. Selon la situation, le choix de différentes méthodes peut améliorer l'efficacité des matrices de traitement. Il convient de noter que lors du traitement de grandes quantités de données, des méthodes plus efficaces doivent être sélectionnées pour améliorer les performances.

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