Maison >développement back-end >Problème PHP >PHP vérifie si un tableau unidimensionnel a des valeurs en double
Préface
Dans le développement Web, l'unicité des données est très critique. Par conséquent, comment garantir l'unicité des données est une considération importante. Dans de nombreux cas, nous devons vérifier s'il y a des données en double dans un tableau. PHP propose de nombreuses méthodes pour réaliser cette fonction.
1. Utilisez les fonctions count et array_unique
Introduction
En PHP, vous pouvez utiliser la fonction count et la fonction array_unique pour déterminer le contenu de un tableau unidimensionnel Y a-t-il des valeurs en double ?
Description de la méthode
count La fonction peut être utilisée pour obtenir le nombre d'éléments dans un tableau. Si le nombre d'éléments est égal au nombre d'éléments après déduplication, cela signifie. qu'il n'y a pas de valeurs en double. La fonction array_unique peut être utilisée pour renvoyer un nouveau tableau après la déduplication et comparer si le nombre d'éléments dans le tableau d'origine et dans le tableau de déduplication est égal pour déterminer s'il existe des valeurs en double.
Implémentation du code
function isDuplicate($arr) { return count($arr) === count(array_unique($arr)); } // 使用示例 $arr1 = [1, 2, 3, 4, 5]; $arr2 = [1, 2, 3, 4, 4, 5]; var_dump(isDuplicate($arr1)); // 输出 bool(true) var_dump(isDuplicate($arr2)); // 输出 bool(false)
2. Utilisez la fonction array_count_values
Introduction
En PHP, vous pouvez utiliser array_count_values fonction Obtenez le nombre d'occurrences de chaque élément dans un tableau unidimensionnel et filtrez les éléments dont le nombre d'occurrences est supérieur à 1 pour déterminer s'il existe des valeurs en double.
Description de la méthode
array_count_values peut être utilisée pour renvoyer un tableau associatif. La clé du tableau est la valeur dans le tableau d'origine et la valeur est le nombre. d'occurrences de la valeur dans le tableau d'origine.
Implémentation du code
function isDuplicate($arr) { $values = array_count_values($arr); return max($values) === 1; } // 使用示例 $arr1 = [1, 2, 3, 4, 5]; $arr2 = [1, 2, 3, 4, 4, 5]; var_dump(isDuplicate($arr1)); // 输出 bool(true) var_dump(isDuplicate($arr2)); // 输出 bool(false)
3. Utiliser la fonction for loop et in_array
Introduction
En PHP, vous pouvez utiliser La boucle for et la fonction in_array sont utilisées pour parcourir les éléments du tableau et déterminer si l'élément apparaît dans le tableau.
Description de la méthode
La boucle for est utilisée pour parcourir les éléments du tableau, et la fonction in_array est utilisée pour déterminer si un élément apparaît dans le tableau.
Implémentation du code
function isDuplicate($arr) { $len = count($arr); for ($i = 0; $i < $len; $i++) { if (in_array($arr[$i], array_slice($arr, $i + 1))) { return false; } } return true; } // 使用示例 $arr1 = [1, 2, 3, 4, 5]; $arr2 = [1, 2, 3, 4, 4, 5]; var_dump(isDuplicate($arr1)); // 输出 bool(true) var_dump(isDuplicate($arr2)); // 输出 bool(false)
4 Utilisation de la fonction array_count_values et de la fonction array_filter en PHP 7
Introduction
In PHP 7, vous pouvez utiliser la fonction array_count_values et la fonction array_filter pour déterminer s'il existe des valeurs en double dans un tableau unidimensionnel.
Description de la méthode
array_count_values peut être utilisée pour renvoyer un tableau associatif. La clé du tableau est la valeur dans le tableau d'origine et la valeur est le nombre. d'occurrences de la valeur dans le tableau d'origine. La fonction array_filter peut être utilisée pour filtrer les éléments d'un tableau. Si l'élément répond aux exigences de la fonction de rappel, l'élément est conservé.
Implémentation du code
function isDuplicate($arr) { $values = array_count_values($arr); $duplicate_values = array_filter($values, function ($value) { return $value > 1; }); return count($duplicate_values) === 0; } // 使用示例 $arr1 = [1, 2, 3, 4, 5]; $arr2 = [1, 2, 3, 4, 4, 5]; var_dump(isDuplicate($arr1)); // 输出 bool(true) var_dump(isDuplicate($arr2)); // 输出 bool(false)
Summary
Cet article présente quatre méthodes en PHP pour déterminer s'il existe des valeurs en double dans un tableau unidimensionnel , y compris l'utilisation des fonctions count et array_unique, l'utilisation de la fonction array_count_values , l'utilisation de la fonction for loop et in_array , et l'utilisation de la fonction array_count_values et de la fonction array_filter en PHP 7. Chacune de ces méthodes a ses propres avantages et inconvénients. Les développeurs peuvent choisir la méthode la plus appropriée en fonction de la situation réelle pour déterminer s'il existe des valeurs en double dans un tableau unidimensionnel.
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!