Home >Backend Development >PHP Tutorial >PHP uses array_flip() function to delete duplicate elements in an array
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)!