Maison >développement back-end >Problème PHP >le tableau php exclut les doublons

le tableau php exclut les doublons

WBOY
WBOYoriginal
2023-05-06 13:23:07525parcourir

En PHP, nous devons souvent traiter des opérations sur les tableaux, et parfois il y a des éléments en double dans un tableau qui doivent être éliminés. Cet article présentera plusieurs méthodes couramment utilisées pour éliminer les doublons dans les tableaux PHP.

  1. Utilisez la fonction array_unique()

La fonction array_unique() peut renvoyer un nouveau tableau sans valeurs en double.

Exemple de code :

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array_unique($arr);
print_r($new_arr);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
  1. Utilisation d'une boucle pour exclure les doublons

Une autre façon d'exclure les doublons consiste à utiliser une boucle pour parcourir le tableau et à utiliser la fonction in_array() pour vérifier si chacun la valeur existe déjà dans le nouveau tableau. S'il n'existe pas, ajoutez-le au nouveau tableau.

Exemple de code :

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array();

foreach ($arr as $value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[] = $value;
    }
}

print_r($new_arr);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
  1. Utilisation de la fonction array_filter() La fonction

array_filter() peut être utilisée pour supprimer toutes les valeurs nulles d'un tableau. Si vous utilisez une fonction de rappel, vous pouvez filtrer les valeurs du tableau en fonction de conditions spécifiées.

Exemple de code :

$arr = array("apple", "banana", "cherry", "", "banana");
$new_arr = array_filter($arr);

print_r($new_arr);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [4] => banana
)

Si vous souhaitez exclure les éléments en double, vous pouvez utiliser la fonction de rappel pour filtrer.

Exemple de code :

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array_filter($arr, function ($value, $key) use ($arr) {
    return array_search($value, $arr) === $key;
}, ARRAY_FILTER_USE_BOTH);

print_r($new_arr);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)

La fonction de rappel vérifie ici si l'index de la valeur est égal à l'index dans le tableau, si c'est le cas, alors la valeur est unique.

  1. Utilisez les fonctions array_keys() et array_values()

Une autre façon d'exclure les doublons est d'utiliser la fonction array_keys() pour obtenir les clés uniques dans le tableau, et la fonction array_values() pour obtenir les valeurs correspondantes.

Exemple de code :

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array_values(array_unique(array_keys($arr, true)));

print_r($new_arr);

Résultat de sortie :

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
)

Ce qui est renvoyé ici est un tableau de clés, qui peut être converti en un tableau de valeurs à l'aide de la fonction array_map().

Exemple de code :

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array_map(function ($key) use ($arr) {
    return $arr[$key];
}, array_values(array_unique(array_keys($arr, true))));

print_r($new_arr);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)

Il existe plusieurs méthodes ci-dessus pour implémenter la duplication d'exclusion de tableau en PHP. Chaque méthode présente des avantages et des inconvénients différents. Choisissez la méthode la plus appropriée en fonction du scénario d'application spécifique.

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
Article précédent:zone de texte php en tableauArticle suivant:zone de texte php en tableau