Home > Article > Backend Development > How to remove duplicate values from PHP array
In PHP programming, using arrays is a very common operation. Sometimes, we need to extract different values from a naive array. This means we want to remove the identical values and keep only the different values. In this article, we will discuss how to remove duplicate values from PHP array.
In PHP, there are multiple ways to solve this problem. The following are some possible methods:
Method 1: Use the array_unique() function
PHP has a built-in array_unique() function, which allows us to remove duplicate elements from the array. Not only does this function keep distinct values, it also keeps the first distinct value and deletes the rest.
The following is a sample code using the array_unique() function:
$my_array = array("apple", "banana", "cherry", "banana", "date", "apple"); $my_array = array_unique($my_array); print_r($my_array);
In the above code, we have created an array containing several identical values. The array is processed using the array_unique() function. Finally, we print the contents of the array using PHP's print_r function.
Execute the above code, you will find the output as follows:
Array ( [0] => apple [1] => banana [2] => cherry [4] => date )
As you can see, the function successfully removes duplicate values from the array and only retains different values.
Method 2: Use loop traversal processing
In this method, we use loop traversal operation to scan the entire array and check whether the elements are repeated in each loop. If the element already exists in the new array, the element is skipped, and if it does not exist, it is added to the array.
The following is a sample code that uses traversal operations to remove duplicate elements:
$my_array = array("apple", "banana", "cherry", "banana", "date", "apple"); $new_array = array(); foreach ($my_array as $value) { if (!in_array($value, $new_array)) { $new_array[] = $value; } } print_r($new_array);
In the above code, we did the following:
Execute the above code, you will find that the output result is the same as using the array_unique() function.
Method 3: Use the array_diff() function
We can also use the array_diff() function to delete duplicate elements. This function can compare two or more arrays and return only the different values.
The following is a sample code to remove duplicate elements using the array_diff() function:
$my_array = array("apple", "banana", "cherry", "banana", "date", "apple"); $my_array = array_diff($my_array, array('')); print_r($my_array);
In the above code, we used the array_diff() function and an empty array, which is simply for comparing elements in the original array. The function will return the distinct values from the original array and store them in the new array.
Execute the above code, you will find that the output result is the same as using the array_unique() function.
Conclusion
Through this article, we learned different ways to remove duplicate elements from an array in PHP. Although there are differences between these methods, they are all able to successfully remove duplicate values from an array and keep only the distinct values. This will help us make our code more efficient and reduce the chance of runtime errors.
The above is the detailed content of How to remove duplicate values from PHP array. For more information, please follow other related articles on the PHP Chinese website!