The method is as follows:
$arr = array(…………);//Suppose there is an array of 10,000 elements with repeated elements in it.
$arr = array_flip(array_flip($arr)); //This will remove duplicate elements.
What on earth is going on? Let’s take a look at the role of array_flip(): array_flip() is used to exchange the key and value of each element of an array, such as:
$arr1 = array ("age" => 30, "name" => ; "Happy Garden");
$arr2 = array_flip($arr1); //$arr2 is array(30 => "age", "Happy Garden" => "name");
In In PHP arrays, different elements are allowed to take the same value, but the same key name is not allowed to be used by different elements, such as:
$arr1 = array ("age" => 30, "name" = > "Happy Garden", "age" => 20); "age" => 20 will replace "age" => 30
$arr1 = array ("name" => "Happy Garden" ", "age" => 45);
Here $arr1 and $arr2 are equal.
So, we can know why array_flip(array_flip($arr)) can delete duplicate elements in the array. First, the value in $arr will become a key name, because the value is repeated. After becoming a key name, these repeated values will become duplicate key names. The PHP engine will delete the duplicate key names and only keep the last one. . For example:
$arr1 = array ("age" => 30, "name" => "Happy Park", "age" => 20);
$arr1 = array_flip($arr1); //$arr1 becomes array("Happy Garden" => "name", 20 => "age");
//Restore the key name and value of $arr1:
$ arr1 = array_flip($arr1);
The above code can be written more concisely: $arr1 = array_flip(array_flip($arr1));