Current Location: Home> Latest Articles> How to quickly swap keys and values ​​of an array using array_flip()? What application scenarios are there?

How to quickly swap keys and values ​​of an array using array_flip()? What application scenarios are there?

M66 2025-06-03

In PHP, the array_flip() function is a very practical built-in function that can interchange keys and values ​​of an array. This function is usually used to invert an array to make the original key into a value and the original value into a key. It is ideal for handling scenarios where array elements need to be quickly reversed, such as creating quick lookup tables, deduplication, or flipping key-value maps. This article will introduce how to use array_flip() and some of its common application scenarios.

1. Introduction to array_flip() function

The syntax of the array_flip() function is very simple:

 array array_flip ( array $array )

parameter:

  • $array : This is an input array where the keys and values ​​will be swapped.

Return value:

  • Returns a new array with keys and values ​​interchanged. If there are duplicate values ​​in the original array, only one key will be retained in the new array.

2. Use array_flip() to exchange keys and values ​​of arrays

Let's look at a simple example, using array_flip() to exchange keys and values ​​in an array.

Sample code:

 <?php
// Original array
$originalArray = array(
    "apple" => "red",
    "banana" => "yellow",
    "cherry" => "red"
);

// use array_flip() Function swap keys and values
$flippedArray = array_flip($originalArray);

// Print the swapped array
print_r($flippedArray);
?>

Output result:

 Array
(
    [red] => cherry
    [yellow] => banana
)

In this example, the keys of the original array are the name of the fruit, and the values ​​are their colors. After calling array_flip() , the keys and values ​​are swapped. It should be noted that the color "red" in the original array appears twice (corresponding to "apple" and "cherry" respectively), while array_flip() only retains one "red" key and the value is "cherry" (the last key-value pair that appears).

3. Application scenarios

3.1 for creating quick lookup tables

A common application scenario for array_flip() is to create quick lookup tables. For example, suppose you have an array containing the user ID and username, and you want to quickly find the corresponding user ID through the username, you can use array_flip() to implement it:

Sample code:

 <?php
// Username and user ID Mapping
$userIds = array(
    "john_doe" => 1,
    "jane_doe" => 2,
    "alice_smith" => 3
);

// use array_flip() Swap keys and values
$flippedUserIds = array_flip($userIds);

// use用户名查找对应的用户 ID
echo "The user ID for john_doe is: " . $flippedUserIds["john_doe"]; // Output: 1
?>

3.2 for deduplication

When you have an array where the values ​​are unique but there may be duplicate keys, array_flip() can help you deduplicate. For example, when you have an array of values ​​that are repeated but want to have each value as a unique key, you can use this method:

Sample code:

 <?php
// An array containing duplicate values
$values = array("apple", "banana", "apple", "orange", "banana");

// use array_flip() Go to the heavy
$uniqueValues = array_flip($values);

// 打印Go to the heavy后的数组
print_r($uniqueValues);
?>

Output result:

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

Here, array_flip() takes the value in the array as the new key and automatically removes duplicate elements.

3.3 Invert key-value mapping

If you have a key-value map and want to invert it, for example map the URL to the page name, you can invert it using array_flip() . Assuming you have a URL to page name mapping, you can use this function to map the page name back to the URL.

Sample code:

 <?php
// page URL 到page名称的Mapping
$pageUrls = array(
    "http://m66.net/home" => "front page",
    "http://m66.net/about" => "about Us",
    "http://m66.net/contact" => "Contact Us"
);

// use array_flip() 反转Mapping
$flippedUrls = array_flip($pageUrls);

// 打印反转后的Mapping
print_r($flippedUrls);
?>

Output result:

 Array
(
    [front page] => http://m66.net/home
    [about Us] => http://m66.net/about
    [Contact Us] => http://m66.net/contact
)

In this example, array_flip() turns the page name into a key and the URL becomes the new value. This way, you can quickly find the corresponding URL by the page name.

4. Things to note

Although array_flip() is a very practical function, it also has some limitations and considerations:

  1. Key value uniqueness : If there are duplicate values ​​in the original array, array_flip() will only retain the last key. If the value is repeated, the previous value will be discarded.

  2. Key type : The key of an array must be a string or an integer. If the keys of the array are of other types, an error or unexpected behavior will occur.

5. Summary

The array_flip() function is a powerful tool in PHP that can help developers quickly exchange keys and values ​​of arrays. Whether it is used to look up tables, deduplication, or invert key-value mappings, it provides a simple and efficient solution. Mastering the usage of array_flip() can make it easier for you to handle various array operations in development.