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

PHPz
Libérer: 2023-04-18 15:10:08
original
576 Les gens l'ont consulté

En PHP, le tableau est l'une des structures de données couramment utilisées. Pour certains scénarios d'application nécessitant de traiter des données, il est souvent nécessaire de supprimer les champs en double dans les tableaux. Voici quelques méthodes et techniques courantes.

1. Utilisez la fonction array_unique

La fonction array_unique est l'une des fonctions intégrées de PHP qui peut supprimer les valeurs en double dans un tableau. Son utilisation est très simple :

$array = array('a', 'b', 'c', 'b', 'a');
$result = array_unique($array);
print_r($result);
Copier après la connexion

Le résultat est :

Array
(
    [0] => a
    [1] => b
    [2] => c
)
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 les fonctions array_flip et array_keys pour réaliser la déduplication

La fonction array_flip peut échanger les clés et les valeurs dans le tableau, et la fonction array_keys peut tout renvoyer. les clés de la valeur de clé du tableau. Par conséquent, nous pouvons combiner ces deux fonctions pour réaliser la déduplication de tableau :

$array = array('a', 'b', 'c', 'b', 'a');
$result = array_flip(array_flip($array));
print_r($result);
Copier après la connexion

Le résultat est :

Array
(
    [0] => a
    [1] => b
    [2] => c
)
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 Utilisez la boucle foreach pour dédupliquer

Utilisez la boucle foreach pour parcourir le tableau et utilisez l'unicité de l'indice du tableau pour réaliser la déduplication. :

$array = array('a', 'b', 'c', 'b', 'a');
$temp = array();
foreach ($array as $value) {
  $temp[$value] = true;
}
$result = array_keys($temp);
print_r($result);
Copier après la connexion

Le résultat est :

Array
(
    [0] => a
    [1] => b
    [2] => c
)
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 in_array pour déterminer la duplication

Lorsque vous utilisez la boucle foreach pour parcourir le tableau, nous pouvons la combiner avec la fonction in_array pour déterminer si la valeur actuelle existe déjà dans le tableau de résultats, réalisant ainsi la déduplication :

$array = array('a', 'b', 'c', 'b', 'a');
$temp = array();
foreach ($array as $value) {
  if (!in_array($value, $temp)) {
    $temp[] = $value;
  }
}
print_r($temp);
Copier après la connexion

Le résultat est :

Array
(
    [0] => a
    [1] => b
    [2] => c
)
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_reduce pour réaliser la déduplication

La fonction array_reduce peut itérer et accumuler les éléments dans le tableau. Nous pouvons la combiner avec la fonction in_array pour. réaliser la déduplication de tableau :

$array = array('a', 'b', 'c', 'b', 'a');
$result = array_reduce($array, function($carry, $item) {
  if (!in_array($item, $carry)) {
    $carry[] = $item;
  }
  return $carry;
}, array());
print_r($result);
Copier après la connexion

Le résultat est :

Array
(
    [0] => a
    [1] => b
    [2] => c
)
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

Il existe plusieurs méthodes ci-dessus pour supprimer les champs en double des tableaux en PHP. Différentes méthodes ont leurs propres avantages et inconvénients, et vous pouvez choisir de les utiliser en fonction de la situation réelle.

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