Maison  >  Article  >  développement back-end  >  Utilisez la fonction PHP array_unique() pour supprimer les tableaux en double

Utilisez la fonction PHP array_unique() pour supprimer les tableaux en double

WBOY
WBOYoriginal
2023-06-27 10:40:391189parcourir

Lors du développement d'applications Web, il est souvent nécessaire de dédupliquer les tableaux. PHP fournit une fonction array_unique() très pratique pour gérer cette situation. La fonction array_unique() peut supprimer les éléments en double d'un tableau et renvoyer un nouveau tableau. La syntaxe de base de la fonction

array_unique() est la suivante :

array_unique(array $array, int $sort_flags = SORT_STRING): array

Parmi eux, le paramètre $array spécifie le tableau pour supprimer les éléments en double ; $sort_flags est un paramètre facultatif, spécifiant la règle de tri. SORT_STRING ou SORT_LOCALE_STRING, qui signifie respectivement par valeur, trier par chaîne et par chaîne localisée. Si $sort_flags n'est pas spécifié, la fonction utilise par défaut la règle SORT_STRING.

Maintenant, regardons un exemple qui montre comment utiliser la fonction array_unique() pour la déduplication de tableau :

<?php
//定义一个包含重复元素的数组
$fruits = array("apple", "banana", "orange", "apple", "pear", "banana");

//使用array_unique()函数去重
$unique_fruits = array_unique($fruits);

//打印去重后的数组
print_r($unique_fruits);
?>

Le code ci-dessus affichera les résultats suivants :

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

Comme vous pouvez le voir, il ne reste que quatre éléments dans le tableau $unique_fruits, les doublons "pomme" et "banane" ont été supprimés.

Il est à noter que la fonction array_unique() réindexera les valeurs clés du tableau. Cela signifie qu'après avoir supprimé les éléments en double, les clés du tableau $unique_fruits seront renumérotées à partir de 0.

Si vous souhaitez conserver la dernière copie de l'élément en double dans le tableau d'origine, vous pouvez parcourir le tableau dans l'ordre inverse, puis utiliser la fonction unset() pour supprimer la copie précédente de l'élément en double. Le code spécifique est le suivant :

<?php
$names = array("Tom", "Jack", "Mary", "Tom", "John", "Mary");
$unique_names = array();
for($i = count($names) - 1; $i >= 0; $i--){
   if(!in_array($names[$i], $unique_names)){
      array_unshift($unique_names, $names[$i]);
   }
   else{
      unset($names[$i]);
   }
}
print_r($names); //输出数组中仅包含重复元素的最后一个副本
print_r($unique_names); //输出去重后的数组
?>

Le code ci-dessus affichera les deux lignes suivantes :

Array
(
    [2] => Mary
    [4] => John
)

Array
(
    [0] => Tom
    [1] => Jack
    [2] => Mary
    [4] => John
)

De cette façon, le tableau $unique_names stocke le tableau dédupliqué, et le tableau $names ne conserve que la dernière copie des éléments en double. . La fonction

array_unique() est l'une des fonctions très pratiques de PHP. Elle peut facilement supprimer les éléments en double d'un tableau, facilitant ainsi la tâche de traitement des tableaux.

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