Home > Article > Backend Development > How to remove duplicate values from an array using PHP
In PHP, array is one of the commonly used data structures. It can store multiple elements, is flexible and convenient, and has been widely used in development. However, in actual development, we often need to perform some operations on arrays, such as deleting duplicate values. This article will introduce how to use PHP to remove duplicate values from an array.
1. Principle
Method 1: Use the array_unique function
PHP provides an array_unique function that can remove duplicate values from the array. The syntax is as follows:
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
This function accepts an array as a parameter and returns a new array with the values in the new array Duplicate values in the original array are excluded. The second parameter $sort_flags is used to specify how to sort the output array. By default, the output array retains the key names of the original array.
Sample code:
$arr = array(1,2,2,3,4,4,5); $new_arr = array_unique($arr); print_r($new_arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
Method 2: Use loop traversal
Traverse the array through a loop and compare each element in the array with the following elements. If there are the same values, Then delete the following elements to achieve the deduplication function.
Sample code:
$arr = array(1,2,2,3,4,4,5); for($i=0;$i<count($arr);$i++){ for($j=$i+1;$j<count($arr);$j++){ if($arr[$i]==$arr[$j]){ array_splice($arr,$j,1); $j--; } } } print_r($arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
2. Use method 1 to delete duplicate values in the array
We use the array_unique function mentioned above to achieve the deduplication function, sample code As follows:
$arr = array(1,2,2,3,4,4,5); $new_arr = array_unique($arr); print_r($new_arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
3. Use method 2 to delete duplicate values in the array
We use the method of looping through the array to delete duplicate values in the array. The sample code is as follows:
$arr = array(1,2,2,3,4,4,5); for($i=0;$i<count($arr);$i++){ for($j=$i+1;$j<count($arr);$j++){ if($arr[$i]==$arr[$j]){ array_splice($arr,$j,1); $j--; } } } print_r($arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
4. Performance comparison
The time complexity of the two methods is O(n) and O(n^2) respectively. The time complexity of method one is lower and the performance is better. Therefore, in actual development, we should try to choose method 1 to implement array deduplication to improve program performance.
5. Summary
This article introduces two methods to delete duplicate values in arrays in PHP. Through comparison, it can be found that method one has lower time complexity and better performance. However, in some specific cases, method 2 may be more suitable. In actual development, we should make choices based on actual conditions to improve the efficiency of the program.
The above is the detailed content of How to remove duplicate values from an array using PHP. For more information, please follow other related articles on the PHP Chinese website!