PHP Methods to maintain key-value correspondence after deduplication in an array include: using the array_unique() function to remove duplicate values, and then using the array_flip() function to exchange key-value pairs. Merge the original array with the deduplicated array, and use the array merging method to retain key-value correspondence.
PHP array maintains key value correspondence after deduplication
Introduction
In When dealing with PHP arrays, sometimes we need to remove duplicate elements while maintaining their key-value correspondence. This tutorial will show you how to use the array_unique()
function in combination with other methods to achieve this goal.
array_unique() function
array_unique()
function can be used to remove duplicate values from an array. By default, it compares the values in the array and retains the key-value correspondence of the first occurrence.
Code example
$array = ['foo', 'bar', 'baz', 'foo', 'xyz']; $uniqueArray = array_unique($array); print_r($uniqueArray);
Output:
Array ( [0] => foo [1] => bar [2] => baz [4] => xyz )
Keep key value corresponding
In order to keep the array For key-value mapping of elements, we need to use additional steps. One way is to use the array_flip()
function, which swaps the key and value of a key-value pair.
Code example
$flippedArray = array_flip($uniqueArray); print_r($flippedArray);
Output:
Array ( [foo] => 0 [bar] => 1 [baz] => 2 [xyz] => 4 )
Now, we have a unique array that keeps key-value correspondence.
Using merge
Another way to keep key-value correspondence is to use array merge. This method creates a new associative array using the original array and the deduplicated array.
Code Example
$newArray = array_merge($array, $uniqueArray); print_r($newArray);
Output:
Array ( [0] => foo [3] => foo [1] => bar [4] => baz [2] => xyz )
This method does not filter duplicate values, but it retains the key-value correspondence of the original array.
The above is the detailed content of How to maintain key-value correspondence after deduplication in PHP array?. For more information, please follow other related articles on the PHP Chinese website!