Home  >  Article  >  Backend Development  >  PHP verifies whether a one-dimensional array has duplicate values

PHP verifies whether a one-dimensional array has duplicate values

王林
王林Original
2023-05-11 10:01:06479browse

Preface

In web development, the uniqueness of data is very critical. Therefore, how to ensure the uniqueness of data is an important consideration. In many cases, we need to verify whether there are duplicate data in an array. PHP provides many methods to achieve this function.

1. Use count and array_unique functions

Introduction

In PHP, you can use the count function and array_unique function to determine whether there are duplicate values ​​in a one-dimensional array.

Method Description

The count function can be used to obtain the number of elements in an array. If the number of elements is equal to the number of elements after deduplication, it means there are no duplicate values ​​in the array. The array_unique function can be used to return a new array after deduplication, and compare whether the number of elements in the original array and the deduplication array is equal to determine whether there are duplicate values.

Code implementation

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. Use the array_count_values ​​function

Introduction

In PHP, you can use the array_count_values ​​function to obtain each item in a one-dimensional array The number of occurrences of an element. Filter out elements whose occurrences are greater than 1 to determine whether there are duplicate values.

Method description

array_count_values ​​function can be used to return an associative array. The key of the array is the value in the original array, and the value is the number of occurrences of the value in the original array.

Code implementation

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. Use for loop and in_array function

Introduction

In PHP, you can use for loop and in_array function to traverse the array element in the array, and determine whether the element appears in the array.

Method Description

The for loop is used to traverse the elements in the array, and the in_array function is used to determine whether an element appears in the array.

Code implementation

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. Use the array_count_values ​​function and array_filter function in PHP 7

Introduction

In PHP 7, you can use the array_count_values ​​function and The array_filter function determines whether there are duplicate values ​​in a one-dimensional array.

Method description

array_count_values ​​function can be used to return an associative array. The key of the array is the value in the original array, and the value is the number of occurrences of the value in the original array. The array_filter function can be used to filter elements in an array. If the element meets the requirements of the callback function, the element is retained.

Code implementation

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

This article introduces four methods in PHP to determine whether there are duplicate values ​​in a one-dimensional array, including using the count and array_unique functions, and using array_count_values function, using the for loop and the in_array function, and using the array_count_values ​​function and the array_filter function in PHP 7. Each of these methods has its own advantages and disadvantages. Developers can choose the most suitable method according to the actual situation to determine whether there are duplicate values ​​in a one-dimensional array.

The above is the detailed content of PHP verifies whether a one-dimensional array has duplicate values. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn