How to remove duplicate fields from an array in php

PHPz
Release: 2023-04-18 15:10:08
Original
504 people have browsed it

In PHP, array is one of the commonly used data structures. For some application scenarios that need to process data, it is often necessary to remove duplicate fields in arrays. Here are some common methods and techniques.

1. Use the array_unique function

The array_unique function is one of PHP's built-in functions that can remove duplicate values from an array. Its use is very simple:

$array = array('a', 'b', 'c', 'b', 'a'); $result = array_unique($array); print_r($result);
Copy after login

The result is:

Array ( [0] => a [1] => b [2] => c )
Copy after login
Copy after login
Copy after login
Copy after login
Copy after login

2. Use array_flip and array_keys functions to achieve deduplication

array_flip function can convert the keys and values in the array interchangeable, and the array_keys function can return all key values in the array. Therefore, we can combine these two functions to achieve array deduplication:

$array = array('a', 'b', 'c', 'b', 'a'); $result = array_flip(array_flip($array)); print_r($result);
Copy after login

The result is:

Array ( [0] => a [1] => b [2] => c )
Copy after login
Copy after login
Copy after login
Copy after login
Copy after login

3. Use foreach loop to deduplicate

Use foreach loop to traverse the array , and use the uniqueness of the array subscript to achieve deduplication:

$array = array('a', 'b', 'c', 'b', 'a'); $temp = array(); foreach ($array as $value) { $temp[$value] = true; } $result = array_keys($temp); print_r($result);
Copy after login

The result is:

Array ( [0] => a [1] => b [2] => c )
Copy after login
Copy after login
Copy after login
Copy after login
Copy after login

4. Use the in_array function to determine duplication

When using a foreach loop to traverse the array, We can combine the in_array function to determine whether the current value already exists in the result array to achieve deduplication:

$array = array('a', 'b', 'c', 'b', 'a'); $temp = array(); foreach ($array as $value) { if (!in_array($value, $temp)) { $temp[] = $value; } } print_r($temp);
Copy after login

The result is:

Array ( [0] => a [1] => b [2] => c )
Copy after login
Copy after login
Copy after login
Copy after login
Copy after login

5. Use the array_reduce function to achieve deduplication

array_reduce function can iterate and accumulate the elements in the array. We can combine it with the in_array function to achieve array deduplication:

$array = array('a', 'b', 'c', 'b', 'a'); $result = array_reduce($array, function($carry, $item) { if (!in_array($item, $carry)) { $carry[] = $item; } return $carry; }, array()); print_r($result);
Copy after login

The result is:

Array ( [0] => a [1] => b [2] => c )
Copy after login
Copy after login
Copy after login
Copy after login
Copy after login

The above is the removal of arrays in PHP There are several methods for repeating fields. Different methods have their own advantages and disadvantages, and you can choose to use them according to the actual situation.

The above is the detailed content of How to remove duplicate fields from an array in php. 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
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!