Maison  >  Article  >  développement back-end  >  PHP vérifie si un tableau unidimensionnel a des valeurs en double

PHP vérifie si un tableau unidimensionnel a des valeurs en double

王林
王林original
2023-05-11 10:01:06554parcourir

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!

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