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!