Home  >  Article  >  Backend Development  >  How to remove duplicates from php array

How to remove duplicates from php array

青灯夜游
青灯夜游Original
2021-05-19 18:12:058133browse

How to delete duplicate items in php array: 1. Use array_unique() to delete directly, the syntax is "array_unique(array)". 2. First use the array_flip() function to reverse the array and delete duplicates; then use the array_flip() function to reverse it back.

How to remove duplicates from php array

The operating environment of this tutorial: Windows 7 system, PHP version 8.1, DELL G3 computer

Method 1. PHP has built-in functions array_unique can be used to remove duplicate values ​​in an array

array_unique -- Remove duplicate values ​​in an array

array_unique Description

array array_unique ( array array )

array_unique() accepts array as Enter and return a new array with no duplicate values

Note that the key names remain unchanged. array_unique() sorts the values ​​first as strings, then retains only the first encountered key for each value, and then ignores all subsequent keys. This does not mean that the first occurrence of the same value in an unsorted array will be preserved.

Note: Two units are considered the same if and only if (string) $elem1 === (string) $elem2. That is, when the expressions of the strings are the same.

The first unit will be retained.

Example: array_unique()

<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>

Output:

Array
(
 [a] => green
 [0] => red
 [1] => blue
)

Method 2, array_flip achieves deduplication effect

Another method It uses the array_flip function of php to indirectly achieve the deduplication effect

array_flip is a function that reverses the keys and values ​​of the array. It has a feature that if two values ​​​​in the array are the same, then after the reversal The last key and value will be retained. Using this feature, we use it to indirectly implement deduplication of the array.

<?php
$arr = array("a"=>"a1","b"=>&#39;b1&#39;,"c"=>"a2","d"=>"a1");
$arr1 = array_flip($arr);
print_r($arr1);//先反转一次,去掉重复值,输出Array ( [a1] => d [b1] => b [a2] => c )
$arr2 = array_flip($arr);
print_r($arr2);//再反转回来,得到去重后的数组,输出Array ( [a1] => d [b1] => b [a2] => c )
$arr3 = array_unique($arr);
print_r($arr3);//利用php的array_unique函数去重,输出Array ( [a] => a1 [b] => b1 [c] => a2 )
?>

The difference between the two methods is that using array_flip gets the last key and value of the repeated element, and using array_unique What is obtained is the first key and value of the two repeated elements.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to remove duplicates from php 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