How to remove duplicates from php array

青灯夜游
Release: 2023-03-09 19:22:02
Original
7966 people have browsed it

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 )
Copy after login

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()

 "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
Copy after login

Output:

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

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.

"a1","b"=>'b1',"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 )
?>
Copy after login

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!

Related labels:
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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!