Home >Backend Development >PHP Problem >php deletes repeated paragraphs from array

php deletes repeated paragraphs from array

王林
王林Original
2023-05-07 12:58:07425browse

Preface

When developing a PHP application, if you need to remove duplicate elements from an array, you can use some built-in functions or manually perform the traversal operation. This article will introduce several methods to remove duplicate elements from arrays in PHP, and explain and analyze them in detail.

Method 1: Use the array_unique() function

In PHP, you can use the array_unique() function to delete duplicate elements in an array. This function will return a new array containing only unique elements from the original array.

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

In the above code, we first create an array $arr containing repeated elements, then operate on it using the array_unique() function, and store the result in $new_arr. Finally, output the result through the print_r() function, and you can see the new array containing only non-repeating elements.

It should be noted that the array_unique() function will retain the original order of the array elements, that is, regardless of the order in which the elements appear, the order of the new array will be the same as the original array.

Method 2: Manually traverse the array

In addition to using the array_unique() function, we can also use the method of manually traversing the array to delete duplicate elements. The specific steps are as follows:

  • Create a new array $new_arr, used to store unique elements.
  • Traverse the original array $arr, and determine whether the current element already exists in the new array $new_arr each time it loops.
  • If it does not exist, add the current element to $new_arr.
  • Finally return the new array $new_arr.

The implementation code is as follows:

$arr ​​= array(1, 2, 2, 3, 4, 4, 5);
$ new_arr = array();
for ($i = 0; $i < count($arr); $i ) {

if (!in_array($arr[$i], $new_arr)) {
    $new_arr[] = $arr[$i];
}

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

In the above code, we use a for loop to traverse the original array $arr, and use the in_array() function during each loop to determine whether the current element already exists in the new array $new_arr. If it does not exist, the current element is added to $new_arr. Finally, the contents of the new array are output through the print_r() function.

It should be noted that although manually traversing the array can delete duplicate elements, compared with the array_unique() function, it requires more code, is less efficient, and is prone to logic errors. Therefore, try to use PHP built-in functions in actual development.

Method 3: Use array_flip(), array_values() function

PHP built-in functions provide a solution to delete duplicate elements using array key values. The specific steps are as follows:

  • Use the array_flip() function to reverse the array, using the values ​​in the array as keys and the keys as values.
  • Use the array_values() function to remove keys from the array and return a new array containing only values.

The implementation code is as follows:

$arr ​​= array(1, 2, 2, 3, 4, 4, 5);
$ new_arr = array_values(array_flip($arr));
print_r($new_arr); // Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
?>

In the above code, we first use the array_flip() function to reverse the values ​​and keys in the array $arr, and Values ​​as keys, keys as values. The reversed array is then passed to the array_values() function, and the contents of the new array are output through the print_r() function.

It should be noted that using key values ​​to delete duplicate elements in an array depends on the value of the element itself being unique, so you need to consider whether the element value may be duplicated when using it.

Summary

There are many ways to remove duplicate elements in a PHP array, among which the array_unique() function is the most commonly used one. If you need to manually traverse the array to delete duplicate elements, you need to pay attention to the efficiency and logic issues of the code. Using array key values ​​can improve code efficiency to a certain extent, but you need to consider whether the element values ​​may be repeated.

In actual development, it is very important to choose an appropriate method to delete duplicate elements in an array based on specific needs and data types.

The above is the detailed content of php deletes repeated paragraphs from 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