Current Location: Home> Latest Articles> How to Get a List of Unique Values from a PHP Array by Combining array_flip() and array_keys() Functions

How to Get a List of Unique Values from a PHP Array by Combining array_flip() and array_keys() Functions

M66 2025-06-23

In PHP, arrays are an essential data structure, often used to store multiple pieces of data. When you need to retrieve unique values from an array, there are many methods you can choose from. A commonly used technique is to combine the array_flip() and array_keys() functions, as this combination can efficiently help you obtain a list of unique values from an array.

1. Understanding array_flip() and array_keys()

array_flip()

array_flip() function swaps the keys and values of an array. After performing this operation, the values of the array become the keys, and the original keys become the values. If there are duplicate values in the array, these duplicates are discarded, because the keys of the array must be unique.

array_keys()

array_keys() function is used to get all the values corresponding to the keys in an array. You can specify a specific value to get all the keys corresponding to that value, or simply retrieve all the keys of the array.

2. Combining array_flip() and array_keys() to Get a List of Unique Values

To get unique values from an array, you can use array_flip() to reverse the array and turn the values into keys, removing duplicates. Then, use array_keys() to get the list of unique values. Here is an example:

<?php
// Original array
$array = array("apple", "banana", "apple", "orange", "banana", "grape");
<p>// Use array_flip() to reverse the array and remove duplicates<br>
$flippedArray = array_flip($array);</p>
<p>// Use array_keys() to get the list of unique values<br>
$uniqueValues = array_keys($flippedArray);</p>
<p>// Output the result<br>
print_r($uniqueValues);<br>
?><br>

Code Explanation:

  1. We first create an array $array that contains duplicate values.

  2. We use array_flip() to reverse the array, so that the values of the array become the keys. The duplicates are discarded.

  3. Then, we use array_keys() to extract the keys from the reversed array, which are the unique values.

  4. Finally, we print out the array of unique values.

3. Output Result

After running the above code, the output will be:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)

Using this method, we have successfully extracted the unique values from the original array.

4. Example: Getting Unique URLs from an Array

Suppose you have an array containing multiple URLs, and you want to get a list of unique URLs. Here's how you can use array_flip() and array_keys() to achieve this:

<?php
// Array containing duplicate URLs
$urls = array(
    "http://example.com",
    "http://m66.net",
    "http://example.com",
    "http://m66.net",
    "http://m66.net/another-page",
    "http://example.com/page"
);
<p>// Use array_flip() to reverse the array and remove duplicate URLs<br>
$flippedUrls = array_flip($urls);</p>
<p>// Use array_keys() to get the unique URLs<br>
$uniqueUrls = array_keys($flippedUrls);</p>
<p>// Output the result<br>
print_r($uniqueUrls);<br>
?><br>

Output Result:

Array
(
    [0] => http://example.com
    [1] => http://m66.net
    [2] => http://m66.net/another-page
    [3] => http://example.com/page
)

5. Conclusion

By combining array_flip() and array_keys(), you can easily extract a list of unique values from a PHP array. This method is efficient, concise, and works great for handling duplicate data. With just two simple function calls, you can remove duplicates, especially for arrays containing URLs or other repetitive values.

I hope this article helps you understand how to use these two functions to get unique values. If you have any questions, feel free to leave a comment and join the discussion!