Home  >  Article  >  Backend Development  >  How to remove duplicate values ​​from an array using PHP

How to remove duplicate values ​​from an array using PHP

PHPz
PHPzOriginal
2023-04-23 10:21:36502browse

In PHP, array is one of the commonly used data structures. It can store multiple elements, is flexible and convenient, and has been widely used in development. However, in actual development, we often need to perform some operations on arrays, such as deleting duplicate values. This article will introduce how to use PHP to remove duplicate values ​​​​from an array.

1. Principle

Method 1: Use the array_unique function

PHP provides an array_unique function that can remove duplicate values ​​​​from the array. The syntax is as follows:

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

This function accepts an array as a parameter and returns a new array with the values ​​in the new array Duplicate values ​​in the original array are excluded. The second parameter $sort_flags is used to specify how to sort the output array. By default, the output array retains the key names of the original array.

Sample code:

$arr = array(1,2,2,3,4,4,5);

$new_arr = array_unique($arr);

print_r($new_arr);  // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )

Method 2: Use loop traversal

Traverse the array through a loop and compare each element in the array with the following elements. If there are the same values, Then delete the following elements to achieve the deduplication function.

Sample code:

$arr = array(1,2,2,3,4,4,5);

for($i=0;$i<count($arr);$i++){
    for($j=$i+1;$j<count($arr);$j++){
        if($arr[$i]==$arr[$j]){
            array_splice($arr,$j,1);
            $j--;
        }
    }
}

print_r($arr);  // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )

2. Use method 1 to delete duplicate values ​​​​in the array

We use the array_unique function mentioned above to achieve the deduplication function, sample code As follows:

$arr = array(1,2,2,3,4,4,5);
$new_arr = array_unique($arr);
print_r($new_arr);  // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )

3. Use method 2 to delete duplicate values ​​​​in the array

We use the method of looping through the array to delete duplicate values ​​​​in the array. The sample code is as follows:

$arr = array(1,2,2,3,4,4,5);

for($i=0;$i<count($arr);$i++){
    for($j=$i+1;$j<count($arr);$j++){
        if($arr[$i]==$arr[$j]){
            array_splice($arr,$j,1);
            $j--;
        }
    }
}

print_r($arr);  // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )

4. Performance comparison

The time complexity of the two methods is O(n) and O(n^2) respectively. The time complexity of method one is lower and the performance is better. Therefore, in actual development, we should try to choose method 1 to implement array deduplication to improve program performance.

5. Summary

This article introduces two methods to delete duplicate values ​​​​in arrays in PHP. Through comparison, it can be found that method one has lower time complexity and better performance. However, in some specific cases, method 2 may be more suitable. In actual development, we should make choices based on actual conditions to improve the efficiency of the program.

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