Home  >  Article  >  php教程  >  php array_flip() removes duplicate elements from an array

php array_flip() removes duplicate elements from an array

高洛峰
高洛峰Original
2016-12-28 15:18:591783browse

The method is as follows:
$arr ​​= array(…………);//Suppose there is an array of 10,000 elements with repeated elements.
$arr ​​= array_flip(array_flip($arr)); //This way duplicate elements can be deleted.

What the hell is going on? Let’s look at the function 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 is written more concisely: $arr1 = array_flip(array_flip($arr1));

More php array_flip() deletes array duplications For element-related articles, please pay attention to 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