Maison > développement back-end > Problème PHP > PHP peut-il supprimer les valeurs en double d'un tableau ?

PHP peut-il supprimer les valeurs en double d'un tableau ?

PHPz
Libérer: 2023-04-27 16:14:54
original
424 Les gens l'ont consulté

Dans le processus d'écriture de programmes PHP, nous devons souvent effectuer des opérations de déduplication sur les tableaux. Le but de la déduplication est d'éviter les interférences des données en double et d'améliorer efficacement les performances du programme. Pour PHP, supprimer les valeurs en double d'un tableau est une opération très basique. Cet article explique comment utiliser PHP pour implémenter cette fonction.

1. Utilisez la fonction array_unique()

PHP fournit une fonction appelée array_unique(), qui peut supprimer les valeurs en double du tableau et renvoyer un nouveau tableau. Voici la syntaxe de base de la fonction array_unique() :

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
Copier après la connexion

Description du paramètre :

  • $array : paramètre obligatoire, le tableau dont les valeurs en double doivent être supprimées.
  • $sort_flags : Paramètre facultatif, utilisé pour spécifier la méthode de tri du tableau. La valeur par défaut est SORT_STRING, qui trie par type de chaîne.

Ce qui suit est un exemple :

$arr = array(1, 2, 2, 3, 4, 4, 5);
$result = array_unique($arr);
print_r($result);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

2. Utilisez des valeurs clés pour réinitialiser le tableau

En plus d'utiliser la fonction array_unique(), nous pouvons également utiliser des valeurs clés ​​pour supprimer les doublons et réinitialise le tableau vers un nouveau tableau. Voici un exemple :

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_flip(array_flip($arr));
print_r($new_arr);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

3. Utiliser le parcours de boucle

En plus des deux méthodes ci-dessus, nous pouvons également utiliser le parcours de boucle pour supprimer les doublons. L'idée de base de cette méthode est la suivante : créez d'abord un tableau vide, puis parcourez chaque élément du tableau d'origine. Si l'élément n'est pas dans le nouveau tableau, ajoutez-le au nouveau tableau. Voici l'exemple de code :

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array();
foreach ($arr as $value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[] = $value;
    }
}
print_r($new_arr);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

4. Utilisez la fonction array_reduce()

La fonction array_reduce() est utilisée pour réduire de manière itérative les éléments du tableau à des valeurs uniques. En utilisant cette fonction, nous pouvons facilement supprimer les éléments en double du tableau. Voici un exemple de code :

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_reduce($arr, function($carry, $item){
    if(!in_array($item, $carry)){
        $carry[] = $item;
    }
    return $carry;
}, []);
print_r($new_arr);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

5. Utilisez la fonction array_diff()

La fonction array_diff() est utilisée pour comparer les ensembles de différences de tableaux. Grâce à cette fonction, nous pouvons rapidement supprimer les éléments en double d'un tableau. Voici l'exemple de code :

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_diff($arr, array_unique($arr));
print_r($new_arr);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [1] => 2
    [4] => 4
)
Copier après la connexion

6. Utilisez la fonction array_filter()

La fonction array_filter() est utilisée pour filtrer les éléments du tableau. Grâce à cette fonction, nous pouvons rapidement supprimer les éléments en double d'un tableau. Voici l'exemple de code :

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_filter($arr, function($value, $key){
    return !in_array($value, array_slice($arr, 0, $key, true));
}, ARRAY_FILTER_USE_BOTH);
print_r($new_arr);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Résumé

Cet article présente diverses méthodes en PHP pour supprimer les valeurs en double​​dans les tableaux. L'utilisation de ces méthodes peut nous permettre d'écrire davantage de programmes PHP. efficacement. Qu'il s'agisse d'utiliser la fonction array_unique() ou de réinitialiser le tableau à l'aide de valeurs clés, ou de faire une boucle, à l'aide de la fonction array_reduce(), de la fonction array_diff() ou de la fonction array_filter(), tant que vous maîtrisez les principes de base et les méthodes d'application, vous pouvez facilement implémenter complètement l'opération de déduplication de baie.

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