Home  >  Article  >  Backend Development  >  PHP removes duplicate elements from one-dimensional array

PHP removes duplicate elements from one-dimensional array

WBOY
WBOYOriginal
2023-05-19 09:44:371117browse

For a one-dimensional array, if there are duplicate elements, removing these duplicate elements is a common requirement in programming. In PHP we can achieve this in several ways. This article will introduce several commonly used methods.

Method 1: Use the array_unique function

The array_unique function is a function that comes with PHP and can easily remove duplicate elements from the array. It can be used not only for one-dimensional arrays, but also for multi-dimensional array deduplication operations.

Sample code:

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

Output result:

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

It is very simple to use the array_unique function to remove duplicate elements. However, it should be noted that the array_unique function can only remove duplicate elements with the same value, but not duplicate elements with the same key value.

Method 2: Use loop traversal

Another way to remove duplicates is to use a loop to traverse the array, comparing each element with the elements after it one by one. If the same elements are found, Remove it.

Sample code:

$array = array('a', 'b', 'c', 'a', 'd', 'c');
$count = count($array);
for($i=0;$i<$count;$i++){
    for($j=$i+1;$j<$count;$j++){
        if($array[$i] == $array[$j]){
            unset($array[$j]);
        }
    }
}
print_r($array);

Output result:

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

Using the loop traversal method can also easily achieve duplication, but when the array is relatively large, the performance may be affected Influence.

Method 3: Use array_flip and array_values ​​functions

This method uses PHP's built-in array_flip function, which can interchange the keys and values ​​of the array. In this way, if the original array has duplicate values, the swapped array will have duplicate keys, and only the last one will be retained, and the rest will be automatically overwritten.

Then, we use the array_values ​​function to re-index the reordered array and remove the key-value correspondence, thereby obtaining the deduplicated array.

Sample code:

$array = array('a', 'b', 'c', 'a', 'd', 'c');
$array_flip = array_flip($array);
$array_unique = array_values($array_flip);
print_r($array_unique);

Output result:

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

The advantage of this method is that it can quickly remove duplicates and retain the order of the original array. However, it only works for one-dimensional arrays whose values ​​are strings, and unexpected results will occur for other types of data (such as arrays, objects, etc.).

To sum up, for removing duplicate elements from a one-dimensional array, we can use the array_unique function that comes with PHP, or we can use the loop traversal method or the array_flip and array_values ​​functions. Depending on actual needs and data types, choosing a method that suits you can improve the efficiency and readability of your code.

The above is the detailed content of PHP removes duplicate elements from one-dimensional array. 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