In PHP, array deduplication is a common operation. Because there may be duplicate elements in the array, the deduplication operation allows us to clearly obtain all the different elements in the array. Below I will introduce some commonly used array deduplication methods.
1. Use the array_unique function
The array_unique function is a one-step deduplication function that comes with PHP. Its function is to remove duplicate values from the array and return a new array.
Sample code:
$array = array('apple', 'orange', 'banana', 'apple', 'orange'); $new_array = array_unique($array); print_r($new_array);
Output result:
Array ( [0] => apple [1] => orange [2] => banana )
2. Using loop traversal
In addition to the array_unique function, we can also use loop traversal Method to achieve array deduplication. The specific implementation method is to first create an empty array, and then loop through the elements in the original array to determine whether they have already appeared in the new array. If not, add the element to the new array. Finally, return this new array.
Sample code:
$array = array('apple', 'orange', 'banana', 'apple', 'orange'); $new_array = array(); foreach($array as $value){ if(!in_array($value, $new_array)){ $new_array[] = $value; } } print_r($new_array);
Output result:
Array ( [0] => apple [1] => orange [2] => banana )
3. Use array_flip and array_keys functions
Another method is to use array_flip and array_keys functions. The array_flip function can flip the keys and values in the array, while the array_keys function can return a list of all keys in the array. Therefore, we can first use the array_flip function to use the values as keys, and then use the array_keys function to obtain these keys. The final result is the deduplicated array.
Sample code:
$array = array('apple', 'orange', 'banana', 'apple', 'orange'); $new_array = array_keys(array_flip($array)); print_r($new_array);
Output result:
Array ( [0] => apple [1] => orange [2] => banana )
4. Use the array_filter function
The last method is to use the array_filter function. The array_filter function can use the specified callback function to filter each element in the array, and finally returns the filtered array. The specific implementation method is to first define an anonymous function as a callback function, and then pass this function as a parameter to the array_filter function when filtering.
Sample code:
$array = array('apple', 'orange', 'banana', 'apple', 'orange'); $new_array = array_filter($array, function($value, $key){ static $unique = array(); if(!in_array($value, $unique)){ $unique[] = $value; return true; } return false; }, ARRAY_FILTER_USE_BOTH); print_r($new_array);
Output result:
Array ( [0] => apple [1] => orange [2] => banana )
The above are four commonly used methods for deduplication of PHP arrays. Depending on the specific situation, we can flexibly choose different methods to achieve array deduplication to achieve better results.
The above is the detailed content of Let's talk about common methods to remove duplicates from PHP arrays. For more information, please follow other related articles on the PHP Chinese website!