How to eliminate duplicate values ​​in php array

PHPz
Release: 2023-05-19 18:28:38
Original
682 people have browsed it

In PHP development, arrays are a very commonly used data type. Sometimes, we need to extract unique values ​​from an array, in which case we need to use deduplication operations. PHP provides a variety of ways to deduplicate arrays.

1. Use the array_unique() function

The array_unique() function is a built-in function in PHP that can easily remove duplicate values ​​from an array. The usage is as follows:

$arr = array('a', 'b', 'c', 'b');
$result = array_unique($arr);
print_r($result);    // 输出:Array ( [0] => a [1] => b [2] => c )
Copy after login

In the above example, the $arr array contains 4 elements, including the repeated element 'b'. By calling the array_unique() function, duplicate elements are removed from the array, and the final result $array contains only 3 elements.

2. Use loop traversal to traverse the array

In addition to using PHP built-in functions, we can also use loop traversal to remove duplicate values ​​​​in the array.

$arr = array('a', 'b', 'c', 'b');
$result = array();
foreach ($arr as $val) {
    if (!in_array($val, $result)) {
        $result[] = $val;
    }
}
print_r($result);    // 输出:Array ( [0] => a [1] => b [2] => c )
Copy after login

In the above code, we first create an empty array $result, and then loop through the original array $arr. For each element $val, we use the in_array() function to determine whether $val already exists in the $result array. If it does not exist, add $val to the $result array.

3. Use the array_flip() function to remove duplicates

In addition to using the above two methods, you can also use the array_flip() function to remove duplicates. This method is suitable for all elements in the array to be unique. If there are duplicate values, they will be deleted.

$arr = array('a', 'b', 'c', 'b');
$result = array_flip($arr);
$result = array_flip($result);
print_r($result);    // 输出:Array ( [0] => a [1] => b [2] => c )
Copy after login

In the above code, we first use the array_flip() function to use the elements of the $arr array as key names to create a new array. Since key names must be unique, duplicate elements are automatically removed. Then we use the array_flip() function to interchange key names and key values, and finally get a non-duplicate array.

Summary

The above are several commonly used deduplication methods in PHP. Each method has advantages and disadvantages when used in different scenarios. Using the array_unique() function is the simplest way, which can quickly remove duplicates, but it cannot retain the original key names of the array. The loop traversal method can retain the original key names, but it is more cumbersome. Using the array_flip() function can quickly remove duplicates, but it cannot guarantee the uniqueness of the original key name. During development, it is necessary to select an appropriate method to remove duplicates based on the actual situation.

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