Home  >  Article  >  Backend Development  >  How to deduplicate arrays in php

How to deduplicate arrays in php

PHPz
PHPzOriginal
2023-04-23 09:18:496269browse

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);

The above code will output:

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

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);

Output:

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

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);

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 )

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);

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 )

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);

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 )

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!

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