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

PHPz
Libérer: 2023-04-23 17:51:53
original
623 Les gens l'ont consulté

Dans le développement réel, nous devons souvent effacer les données en double d'un tableau. En PHP, supprimer les données en double est une tâche facile car PHP fournit de nombreuses fonctions intégrées pour accomplir cette tâche.

Voici quelques fonctions intégrées de PHP qui peuvent être utilisées pour supprimer les données en double dans les tableaux :

  1. fonction Array_unique()

array_unique() peut être utilisée pour dédupliquer des tableaux. Il renvoie un nouveau tableau contenant toutes les valeurs distinctes du tableau d'origine.

Utilisation :

$array = array("a","b","c","d","a","b","e");
$new_array = array_unique($array);
print_r($new_array);
Copier après la connexion

Sortie :

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

La fonction Array_diff() peut être utilisée pour comparer deux tableaux et renvoyer un nouveau tableau contenant différents éléments.

Utilisation :

$array1 = array("a","b","c","d","a","b","e");
$array2 = array("c", "d", "e", "f");
$new_array = array_diff($array1, $array2);
print_r($new_array);
Copier après la connexion

Sortie :

Array(
    [0] => a
    [1] => b
)
Copier après la connexion
  1. Fonction Array_merge()

La fonction Array_merge() peut être utilisée pour fusionner plusieurs tableaux en un seul tableau. S'il y a des données en double après la fusion, la dernière valeur survenue sera conservée.

Utilisation :

$array1 = array("a","b","c","d","a","b","e");
$array2 = array("c", "d", "e", "f");
$new_array = array_merge($array1, $array2);
print_r($new_array);
Copier après la connexion

Sortie :

Array(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => a
    [5] => b
    [6] => e
    [7] => c
    [8] => d
    [9] => e
    [10] => f
)
Copier après la connexion
  1. fonction array_intersect()

La fonction array_intersect() peut être utilisée pour comparer deux tableaux et renvoyer un nouveau tableau contenant des éléments qui existent dans les deux tableaux.

Utilisation :

$array1 = array("a","b","c","d","a","b","e");
$array2 = array("c", "d", "e", "f");
$new_array = array_intersect($array1, $array2);
print_r($new_array);
Copier après la connexion

Sortie :

Array(
    [2] => c
    [3] => d
    [6] => e
)
Copier après la connexion

Si vous souhaitez supprimer toutes les données en double dans le tableau, vous pouvez utiliser les fonctions ci-dessus en combinaison. La méthode spécifique est la suivante :

$array1 = array("a","b","c","d","a","b","e");
$array2 = array("c", "d", "e", "f");
$new_array = array_merge(array_diff($array1, array_intersect($array1, $array2)), array_diff($array2, array_intersect($array1, $array2)));
print_r($new_array);
Copier après la connexion

Sortie :

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

La méthode ci-dessus peut effacer toutes les données en double dans le tableau et conserver tous les différents éléments. Si vous devez conserver le premier ou le dernier dans les données en double, vous pouvez utiliser la méthode suivante :

Conserver le premier dans les données en double :

$new_array = array_unique($array1);
Copier après la connexion

Conserver le dernier dans les données en double :

$new_array = array_intersect($array1, array_unique(array_reverse($array1)));
Copier après la connexion

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