How to deduplicate arrays in php

PHPz
Release: 2023-04-23 09:33:55
Original
6330 people have browsed it

In PHP, array is a very important data type, which can be used to store and process large amounts of data. However, in the process of using arrays, we may encounter duplicate values ​​in the array. In this case, we need to deduplicate the array. The following will introduce several common PHP array deduplication methods.

1. Use PHP’s array_unique() function

The array_unique() function is PHP’s own deduplication function, which can easily remove duplicate values ​​from an array. The method of using this function is as follows:

$array = array("a","b","c","d","a","b","e");
$new_array = array_unique($array);
print_r($new_array);
Copy after login

The above code will output:

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

As you can see, the duplicate values ​​​​"a" and "b" in the original array have been removed.

It should be noted that when using the array_unique() function to remove duplicates, the key names in the array will be retained. If you want to reindex the array, you can use the array_values() function, for example:

$array = array("a","b","c","d","a","b","e");
$new_array = array_values(array_unique($array));
print_r($new_array);
Copy after login

Output:

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

At this time, the array has been reindexed.

2. Use loops to remove duplicates

In PHP, you can also loop through the array to remove duplicate values. The code of this method is as follows:

$array = array("a","b","c","d","a","b","e");
$new_array = array();
foreach($array as $key=>$value){
    if(!in_array($value,$new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);
Copy after login

By determining whether a certain value exists in the array, and adding it to a new array if it does not exist, duplicate values ​​in the array can be removed. The output result is:

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

3. Use PHP’s array_reduce() function

The array_reduce() function is an array reduction function that can reduce elements in an array. You can use the array_reduce() function to remove duplicate values. The code is as follows:

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

The above code uses the feature of anonymous functions in PHP7. By judging whether a certain value exists in the array, and adding it to a new array if it does not exist, duplicate values ​​in the array can be removed. . The output result is:

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

4. Use PHP’s array_count_values() function

array_count_values() function can return the number of occurrences of each value in the array. The code is as follows:

$array = array("a","b","c","d","a","b","e");
$count_array = array_count_values($array);
$new_array = array_keys($count_array);
print_r($new_array);
Copy after login

The above code counts the number of occurrences of each value in the array, and obtains a new array through the array_keys() function. The output result is:

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

There are no duplicate values ​​in the new array here.

The above are four common PHP array deduplication methods. Selecting the most appropriate method for deduplication processing based on the actual situation can effectively improve the efficiency of array processing.

The above is the detailed content of How to deduplicate arrays 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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template