In PHP, array is a very important data type, which can be used to store and process large amounts of data. However, in the process of using arrays, we may encounter duplicate values in the array. In this case, we need to deduplicate the array. The following will introduce several common PHP array deduplication methods.
1. Use PHP’s array_unique() function
The array_unique() function is PHP’s own deduplication function, which can easily remove duplicate values from an array. The method of using this function is as follows:
$array = array("a","b","c","d","a","b","e"); $new_array = array_unique($array); print_r($new_array);
The above code will output:
Array ( [0] => a [1] => b [2] => c [3] => d [6] => e )
As you can see, the duplicate values "a" and "b" in the original array have been removed.
It should be noted that when using the array_unique() function to remove duplicates, the key names in the array will be retained. If you want to reindex the array, you can use the array_values() function, for example:
$array = array("a","b","c","d","a","b","e"); $new_array = array_values(array_unique($array)); print_r($new_array);
Output:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
At this time, the array has been reindexed.
2. Use loops to remove duplicates
In PHP, you can also loop through the array to remove duplicate values. The code of this method is as follows:
$array = array("a","b","c","d","a","b","e"); $new_array = array(); foreach($array as $key=>$value){ if(!in_array($value,$new_array)){ $new_array[] = $value; } } print_r($new_array);
By determining whether a certain value exists in the array, and adding it to a new array if it does not exist, duplicate values in the array can be removed. The output result is:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
3. Use PHP’s array_reduce() function
The array_reduce() function is an array reduction function that can reduce elements in an array. You can use the array_reduce() function to remove duplicate values. The code is as follows:
$array = array("a","b","c","d","a","b","e"); $new_array = array_reduce($array, function($carry, $item){ if(!in_array($item, $carry)){ $carry[] = $item; } return $carry; }, array()); print_r($new_array);
The above code uses the feature of anonymous functions in PHP7. By judging whether a certain value exists in the array, and adding it to a new array if it does not exist, duplicate values in the array can be removed. . The output result is:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
4. Use PHP’s array_count_values() function
array_count_values() function can return the number of occurrences of each value in the array. The code is as follows:
$array = array("a","b","c","d","a","b","e"); $count_array = array_count_values($array); $new_array = array_keys($count_array); print_r($new_array);
The above code counts the number of occurrences of each value in the array, and obtains a new array through the array_keys() function. The output result is:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
There are no duplicate values in the new array here.
The above are four common PHP array deduplication methods. Selecting the most appropriate method for deduplication processing based on the actual situation can effectively improve the efficiency of array processing.
The above is the detailed content of How to deduplicate arrays in php. For more information, please follow other related articles on the PHP Chinese website!