Home  >  Article  >  Backend Development  >  How to reverse key in php array

How to reverse key in php array

PHPz
PHPzOriginal
2023-04-26 14:21:18501browse

In PHP, array is a very common data type, which consists of one or more key-value pairs. Each key-value pair consists of a key and a value, and different types of keys and values ​​can be used in the array.

In some cases, we may need to reverse the keys while retaining the values ​​in the array. One of the main reasons for this is to quickly find a value in an array and return its key without having to iterate through the entire array.

In PHP, reversing the keys and values ​​of an array is a relatively simple task. In this article, we will explore how to reverse the keys of a PHP array and give some usage examples.

Use the array_flip function to reverse an array

The array_flip() function in PHP can be used to reverse the keys and values ​​of an array. This function flips the relationship between elements in the array so that the current key becomes the value and the current value becomes the key.

The example is as follows:

$original_array = array('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4);
$reversed_array = array_flip($original_array);

In the above code, we first declare a simple associative array $original_array, which has four key-value pairs. We then flip the key-value pairs using the array_flip() function to produce a reversed array $reversed_array.

The output of the reversed array$reversed_array is as follows:

Array
(
    [1] => one
    [2] => two
    [3] => three
    [4] => four
)

As you can see, the keys and values ​​of the array have been reversed, each The value becomes the new key of its original key.

Reverse indexed array

In PHP, if we want to reverse the keys of an indexed array, we can use the array_reverse() function. This function leaves the keys and values ​​of the array unchanged and just flips their positions relative to the bottom of the array.

The example is as follows:

$original_array = array('one', 'two', 'three', 'four');
$reversed_array = array_reverse($original_array, true);

In the above example, we first declare a new index array $original_array, which contains four elements. We then flip the keys of that array using the array_reverse() function to produce a reversed array $reversed_array. In this case, the second parameter is set to true, which means that the keys in the original array are retained.

The output of the reversed array$reversed_array is as follows:

Array
(
    [3] => one
    [2] => two
    [1] => three
    [0] => four
)

As you can see, the keys of the array have been reversed, and the elements in the array The location has not changed.

Reverse the keys of a multidimensional array

If we need to reverse the keys of a multidimensional array, we can use a recursive function to handle it. A recursive function can traverse an entire multidimensional array and reverse all keys in it.

The example is as follows:

function reverse_array_keys($array) {
    if (!is_array($array)) {
        return $array;
    }
    $new_array = array();
    foreach ($array as $key => $value) {
        $new_key = is_numeric($key) ? $key : strrev($key);
        $new_array[$new_key] = reverse_array_keys($value);
    }
    return $new_array;
}

$original_array = array('one' => array('two' => array('three' => 'four')));
$reversed_array = reverse_array_keys($original_array);

In the above example, we first declare an array $original_array that contains multiple nested arrays. We then reverse the keys of that array using the reverse_array_keys() function so that each array has its key flipped.

The output of the reversed array$reversed_array is as follows:

Array
(
    [eno] => Array
        (
            [owt] => Array
                (
                    [eerht] => four
                )

        )

)

As you can see, the keys of the multidimensional array have been reversed, and each array Have its keys flipped.

Conclusion

In PHP, reversing the keys of an array is a relatively simple task. We can use the array_flip() function to reverse the keys and values ​​of an associative array, the array_reverse() function to reverse the keys of an indexed array, and for multidimensional arrays, we can use Recursive function to handle.

No matter which method you use, make sure you understand the effects of your operations and test that your code performs as expected.

The above is the detailed content of How to reverse key in php array. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn