Current Location: Home> Latest Articles> Methods to create back-looking tables using array_flip()

Methods to create back-looking tables using array_flip()

M66 2025-06-03

In PHP, array_flip() is a very useful function that interchanges keys and values ​​of an array. This means that the element originally as the key will become a value, and the element originally as the value will become a key. This feature is very suitable for creating back-looking tables. The back-looking table is a data structure that searches for the corresponding key through values, which is usually used to quickly find the corresponding key based on a certain value.

1. Introduction to array_flip() function

The array_flip() function takes an array as a parameter and returns a new array, where the key of the original array becomes a value and the value of the original array becomes a key. The basic syntax is as follows:

 array array_flip ( array $array )
  • parameter :

    • $array : The array to be reversed.

  • Return value : Returns an array containing the inverted keys and values.

2. Example of creating a back lookup table

Let's look at a simple example, using array_flip() to create a back lookup table.

 <?php
// Original array
$originalArray = [
    'apple'  => 'red',
    'banana' => 'yellow',
    'cherry' => 'red',
    'orange' => 'orange'
];

// use array_flip() Create a back lookup table
$flippedArray = array_flip($originalArray);

// Output back lookup table
print_r($flippedArray);
?>

Output result:

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

In this example, we have an array of fruit colors. array_flip() inverts this array, making the color a key and the name of the fruit becomes a value. Note that if there are the same values ​​in the array, array_flip() takes their last value as the result. For example, 'red' corresponds to cherry , not apple , because cherry is the last value.

3. Application scenarios of reverse check tables

3.1 Database search

When we extract data from the database, we usually get an associative array. For example, we might need to find the corresponding ID based on a certain value (such as a username). If we invert this data, we can find keys (IDs) more quickly by values.

 <?php
// Username and userIDMapping of
$userArray = [
    'alice' => 101,
    'bob'   => 102,
    'charlie' => 103
];

// Create a back lookup table
$reversedUserArray = array_flip($userArray);

// use反查表快速查找
echo "AliceofIDyes: " . $reversedUserArray['101']; // Output:AliceofIDyes: 101
?>

3.2 Improve search efficiency

A back-looking table can usually improve the search efficiency because it inverts the relationship between the value and the key. By back-looking the table, we can avoid traversing the entire array for searching, and directly obtain the corresponding key through the value.

4. Things to note

4.1 Uniqueness of values

array_flip() only works with arrays with unique values. If there are duplicate values ​​in the array, the inverted result will only retain the key of the last value. For example:

 <?php
$originalArray = [
    'a' => 1,
    'b' => 2,
    'c' => 1
];

$flippedArray = array_flip($originalArray);

print_r($flippedArray);
?>

Output result:

 Array
(
    [1] => c
    [2] => b
)

In this example, the value 1 appears twice, but only c is retained as the key in the inverted array because it is the last key corresponding to 1 .

4.2 Data type issues

array_flip() converts the value into a key. Since the keys of a PHP array are strings or integers, the values ​​in the array are converted to data types that are suitable as keys. If the value in the array cannot be used as a legal key, it may result in an error or exception.

5. Summary

array_flip() is a simple and powerful function that can help us quickly invert arrays to create an inverse lookup table. This is very useful for quickly finding the keys corresponding to values ​​in some scenarios. It should be noted that when using array_flip() , make sure that the values ​​in the array are unique, or understand that the last key will overwrite the previous key if the values ​​are repeated.

Through this method, you can easily implement efficient back-check operations, making your code more concise and efficient.