Home  >  Article  >  Backend Development  >  php array_flip (detailed explanation of function to delete duplicate elements from array)

php array_flip (detailed explanation of function to delete duplicate elements from array)

怪我咯
怪我咯Original
2017-07-06 09:43:321335browse

In PHP, there is an available function for deleting duplicate elements in an array, which is array_unique(), But it is not the most efficient method. Using the array_flip() function will be about five times faster than array_uniqure().

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 will remove duplicate elements.

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 values ​​are 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));

The above is the detailed content of php array_flip (detailed explanation of function to delete duplicate elements from 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