Home  >  Article  >  Backend Development  >  PHP uses array_flip() function to delete duplicate elements in an array

PHP uses array_flip() function to delete duplicate elements in an array

黄舟
黄舟Original
2016-12-21 10:13:411370browse

In PHP, there is a function available to delete 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_unique().

Function format:
array array_flip (array trans) //array_flip -- Exchange the keys and values ​​in the array

The method is as follows:
$arr = array(…………);//Assume there are 10,000 elements Array with repeated elements.
$arr = array_flip(array_flip($arr)); //This way duplicate elements can be deleted.
What exactly 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" => " php self-study network");
$arr2 = array_flip($arr1); //$arr2 is array(30 => "age", "php self-study network" => "name");
In the array of PHP , allowing different elements to take the same value, but not allowing the same key name to be used by different elements, such as:
$arr1 = array ("age" => 30, "name" => "php self-study network ", "age" => 20); "age" => 20 will replace "age" => 30
$arr1 = array ("name" => "php self-study network", "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" => "php self-study network", "age" => 20);
$arr1 = array_flip($arr1); //$ arr1 becomes array("php self-study network" => "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));

The above is how PHP uses the array_flip() function to delete duplicate elements in the array. For more related content, please pay attention to PHP Chinese website (www.php.cn)!


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 [email protected]