Home  >  Article  >  Backend Development  >  Let’s talk about common methods to remove duplicates from PHP arrays

Let’s talk about common methods to remove duplicates from PHP arrays

PHPz
PHPzOriginal
2023-04-19 11:39:01577browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn