Home > Backend Development > PHP Problem > How to determine whether there is duplicate data in an array in php

How to determine whether there is duplicate data in an array in php

PHPz
Release: 2023-04-18 10:44:55
Original
1611 people have browsed it

In PHP, it is a common task to determine whether the values ​​in an array are duplicate data. There are many solutions to this problem. In this article, we will introduce some methods to determine whether the values ​​in an array are duplicates.

Method 1: Use the array_unique() function

We can use the array_unique() function in PHP to delete duplicate values ​​​​in the array, and then compare the lengths of the arrays to determine whether the arrays are equal. There are duplicate values.

For example, if we have the following array:

$arr = array('apple', 'banana', 'cherry', 'apple');
Copy after login
Copy after login
Copy after login
Copy after login

We can use the array_unique() function to remove duplicate values ​​as follows:

$unique_arr = array_unique($arr);
Copy after login

Use the count() function to Get the length of the original array and the array after deduplication:

if(count($arr) != count($unique_arr)) {
    echo '数组中有重复数据。';
} else {
    echo '数组中没有重复数据。';
}
Copy after login

This method can quickly detect whether there are duplicate values ​​in the array.

Method 2: Use the in_array() function

The in_array() function can search for a certain value in the array. If it is found, it returns true, otherwise it returns false. We can use this function to find a value in an array in a loop to determine if the value is a duplicate.

For example, if we have the following array:

$arr = array('apple', 'banana', 'cherry', 'apple');
Copy after login
Copy after login
Copy after login
Copy after login

We can use the in_array() function to determine whether there are duplicate values ​​in the array, as follows:

$flag = false;
foreach ($arr as $value) {
    if(in_array($value, $arr, true)) {
        $flag = true;
        break;
    }
}
if($flag) {
    echo '数组中有重复数据。';
} else {
    echo '数组中没有重复数据。';
}
Copy after login

If in_array The () function finds a value that has already appeared in the array, sets the $flag variable to true, and finally judges the value of the $flag variable to determine whether there are duplicate values.

Method 3: Use the array_count_values() function

The array_count_values() function can count the number of occurrences of each value in the array. We can use this function to count the number of occurrences of each value in an array and find recurring values.

For example, if we have the following array:

$arr = array('apple', 'banana', 'cherry', 'apple');
Copy after login
Copy after login
Copy after login
Copy after login

We can use the array_count_values() function to count the number of occurrences of each value in the array, as follows:

$counts = array_count_values($arr);
foreach ($counts as $key => $value) {
    if($value > 1) {
        echo '数组中有重复数据:' . $key . '<br>';
    }
}
Copy after login

This This method counts recurring values, making it easy to find duplicate values ​​in an array.

Method 4: Use the array_diff() function

The array_diff() function can compare the difference between two arrays, that is, the values ​​that are in array A but not in array B. We can use this function to compare the original array and the deduplicated array.

For example, if we have the following array:

$arr = array('apple', 'banana', 'cherry', 'apple');
Copy after login
Copy after login
Copy after login
Copy after login

We can use the array_diff() function to compare the original array and the deduplicated array, as shown below:

$temp_arr = array_unique($arr);
$diff_arr = array_diff($arr, $temp_arr);
if(!empty($diff_arr)) {
    echo '数组中有重复数据。';
} else {
    echo '数组中没有重复数据。';
}
Copy after login

This The method will generate a difference array. If the array is not empty, it means there is duplicate data in the original array.

Summary

The above are several ways to determine whether there is duplicate data in a PHP array. Each method has its own characteristics and uses, and we can choose to use it according to the specific situation.

If you want to efficiently determine whether there is duplicate data in the array, you can consider using the first two methods because their time complexity is smaller. If you want to find recurring values, you can use the third method. If you want to compare the difference between the original array and the deduplicated array, you can use the fourth method.

The above is the detailed content of How to determine whether there is duplicate data in an array in php. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template