Home >Backend Development >PHP Problem >PHP verifies whether a one-dimensional array has duplicate values
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!