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);
Le résultat est :
Array ( [0] => a [1] => b [2] => c )
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);
Le résultat est :
Array ( [0] => a [1] => b [2] => c )
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);
Le résultat est :
Array ( [0] => a [1] => b [2] => c )
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);
Le résultat est :
Array ( [0] => a [1] => b [2] => c )
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);
Le résultat est :
Array ( [0] => a [1] => b [2] => c )
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!