Home > Backend Development > PHP Problem > How to remove duplicate values ​​from an array in php

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

PHPz
Release: 2023-04-27 10:12:27
Original
902 people have browsed it

In PHP, sometimes we need to remove duplicate elements from an array to ensure that each element in the array is unique. This is very useful when working with data, especially when we need to get unique values ​​from large amounts of data. This article will explain how to remove duplicate values ​​from an array using different PHP functions and techniques.

Use array_unique function to remove duplicates

PHP provides a very simple function to remove duplicate values ​​​​in an array: array_unique. This function will remove all duplicate elements from the array and return a new array. The following is an example code for using the array_unique function to remove duplicates:

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array_unique($original_array);
print_r($unique_array);
Copy after login

The output result is:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => kiwi
)
Copy after login

As shown above, this function will return a new array that contains all unique items in the original array. Repeating elements. Note that the original array in this example contains two duplicate "apple" elements, but only one is retained.

Reindex using the array_values ​​function

As you can see from the above example, using the array_unique function can easily remove duplicate elements in an array, but it does not reset the keys of the array. This means that if you want to use the new array, you will get a different index than the original array. If you need an index that increases from 0, you can use the array_values ​​function to reindex. The following is a sample code that uses the array_values ​​function to reindex an array:

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array_values(array_unique($original_array));
print_r($unique_array);
Copy after login

The output is:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => kiwi
)
Copy after login
Copy after login
Copy after login

As shown above, this example first uses the array_unique function to remove duplicate elements in the array, and then uses array_values The function re-indexes the new array. Finally, you get a new array that contains all the unique elements in the original array, using indexes that increase from 0.

Use foreach loop and in_array function to remove duplicates

In addition to array_unique function and array_values ​​function, we can also use loop and in_array function to remove duplicate elements in the array. The following is a sample code for deduplication using a foreach loop and the in_array function:

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array();
foreach ($original_array as $value) {
    if (!in_array($value, $unique_array)) {
        $unique_array[] = $value;
    }
}
print_r($unique_array);
Copy after login

The output result is:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => kiwi
)
Copy after login
Copy after login
Copy after login

As shown above, this example uses a foreach loop to traverse each element in the original array, And use the in_array function to check if the current element already exists in the new array. If the current element does not exist in the new array, the element will be added to the new array. Finally, a new array is obtained that contains all unique elements in the original array.

Use foreach loop and array_search function to remove duplicates

In addition to the in_array function, we can also use the array_search function to check whether an element exists in the array. When you need to get the index value of an element, the array_search function will return the key of the element in the array. The following is a sample code for deduplication using a foreach loop and the array_search function:

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array();
foreach ($original_array as $value) {
    if (array_search($value, $unique_array) === false) {
        $unique_array[] = $value;
    }
}
print_r($unique_array);
Copy after login

The output result is:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => kiwi
)
Copy after login
Copy after login
Copy after login

As shown above, this example uses a foreach loop to traverse each element in the original array, And use the array_search function to check if the current element already exists in the new array. If the current element does not exist in the new array, the element will be added to the new array. Finally, a new array is obtained that contains all unique elements in the original array.

Conclusion

Whether you use the array_unique function, array_values ​​function, foreach loop and in_array function, or foreach loop and array_search function, you can easily remove duplicate elements from arrays in PHP. When using these techniques, remember your variable names and code structure. Once you know how to remove duplicates from an array, you will be better able to process and manipulate data.

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