Home  >  Article  >  Backend Development  >  How to remove duplicate values ​​in an array in php

How to remove duplicate values ​​in an array in php

PHPz
PHPzOriginal
2023-04-18 14:10:30430browse

In PHP, arrays are a very commonly used data type. Sometimes we need to ensure that each element in the array is unique, that is, there are no duplicates. This article will introduce how to clear duplicate values ​​​​in an array, which can help you better handle arrays.

Method 1: Use the PHP built-in function array_unique()

The array_unique() function provided by PHP can be used to remove duplicate values ​​​​in the array and return a new one that does not contain duplicate values. array.

The sample code is as follows:

$array = array("a", "b", "c", "b", "d", "a");
$newArray = array_unique($array);
print_r($newArray);

Execute the above code and you will get the following results:

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

Method 2: Use loop traversal

In PHP, we Loop traversal can be used to achieve the purpose of deduplication. The specific method is to traverse the array, compare each element with other elements in the array, and if duplicates are found, delete the element. The final array obtained is the array after deduplication.

The sample code is as follows:

$array = array("a", "b", "c", "b", "d", "a");
$newArray = array();
foreach($array as $value) {
    if (!in_array($value, $newArray)) {
        $newArray[] = $value;
    }
}
print_r($newArray);

Execute the above code and you will get the following results:

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

Method 3: Use the array_flip() function

array_flip() The function can exchange the keys and values ​​in the array. If the original array has duplicate values, then after the exchange, only one of these duplicate values ​​will remain, thus achieving the purpose of removing duplicate values.

The sample code is as follows:

$array = array("a", "b", "c", "b", "d", "a");
$newArray = array_flip($array);
$newArray = array_flip($newArray);
print_r($newArray);

Execute the above code, you will get the following results:

Array
(
    [a] => 
    [b] => 
    [c] => 
    [d] => 
)

In the above code, first use the array_flip() function to combine the keys in the array with The values ​​are exchanged and a new array $newArray is obtained, but the values ​​of this new array are all empty. Then use the array_flip() function again to exchange the keys and values ​​of the new array, and the final result is the deduplicated array.

Summary

The above three methods can all achieve the purpose of clearing duplicate values ​​​​in the array, but their implementation principles are different. You need to choose the appropriate method according to your actual situation. In addition, if you need to retain duplicate values ​​and you want to count the occurrences of each duplicate value, you can use the array_count_values() function provided by PHP, which can return a new array that contains each element in the original array. The number of occurrences.

The above is the detailed content of How to remove duplicate values ​​in an array 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