Three methods: 1. Use array_unique, the syntax "array_unique(array)"; 2. Use array_flip(), the syntax "array_flip(array_flip(array))"; 3. Use foreach and two empty arrays , the syntax "foreach($arr as $k1=>$v1){$r1[$v1]=$k1;}foreach($r1 as $k2=>$v2){$r2[$v2]=$ k2;}".
The operating environment of this tutorial: windows7 system, PHP version 8.1, DELL G3 computer
Removing the same values in the array is to remove the array Duplicate values in . There are many ways to remove duplicates from PHP arrays. Let’s introduce them to you below.
Method 1: Use the deduplication function array_unique()
array_unique() function is used to remove duplicate values in the array. If two or more array values are the same, only the first value is retained and the other values are removed.
Note: The retained array will retain the key type of the first array item.
array_unique(array,sortingtype)
Parameters | Description |
---|---|
array | Required . Specifies an array. |
sortingtype | Optional. Specifies the sorting type. Possible values:
|
Return value: Returns the filtered array.
Example: Remove identical values
<?php $arr1 =array("a"=>"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3); var_dump($arr1); $arr2=array_unique($arr1); var_dump($arr2); ?>
##Method 2: Using the array_flip() function
array_flip() function is used to reverse/exchange the key names in the array and the corresponding associated key values. The key name of the array is unique and will not exist repeatedly. Using this feature, if two values in the array are the same, the last key and value will be retained after reversing the array, which can indirectly achieve deduplication of the array.<?php $arr =array("a"=>"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3); var_dump($arr); $arr1 = array_flip($arr);//先反转一次,去掉重复值 var_dump($arr1); $arr2 = array_flip($arr1);//再反转回来,得到去重后的数组 var_dump($arr2); ?>
The difference between method 1 and method 2:
Use array_flip() to get the last key and value of the repeated element , use array_unique to get the first key and value in the repeated element.Method 3: Use the foreach statement and two empty arrays
Or use the unique feature of the key name, use the foreach statement and two empty arrays Array to reverse the key name and key value position of the array twice.<?php header("content-type:text/html;charset=utf-8"); function f($arr){ var_dump($arr); $res1=[]; $res2=[]; foreach($arr as $k1=>$v1){ $res1[$v1]=$k1; } foreach ($res1 as $k2 => $v2){ $res2[$v2]=$k2; } echo "去重后的数组:"; var_dump($res2); } $arr=array(1,2,3,4,5,4,3,2,1,0); f($arr); ?>
PHP Video Tutorial"
The above is the detailed content of How to remove identical values from an array in php. For more information, please follow other related articles on the PHP Chinese website!