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

PHPz
Release: 2023-04-19 14:04:56
Original
580 people have browsed it

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);
Copy after login

Output result:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)
Copy after login
Copy after login
Copy after login
Copy after login

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);
Copy after login

Output result:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)
Copy after login
Copy after login
Copy after login
Copy after login

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);
Copy after login

Output result:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)
Copy after login
Copy after login
Copy after login
Copy after login

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);
Copy after login

Output result:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)
Copy after login
Copy after login
Copy after login
Copy after login

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!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template