Home >Backend Development >PHP Problem >How to change the keys of an array in PHP

How to change the keys of an array in PHP

PHPz
PHPzOriginal
2023-04-23 17:49:01478browse

In PHP, an array is a very useful data type that can store multiple values, and each value can be accessed with a unique key. The keys of PHP arrays can be numbers or strings, but when dealing with large arrays, you may need to reorder the keys in the array or change the names of the keys. In this article, we will discuss how to change the keys of an array in PHP.

1. Use the array_combine() function

The array_combine() function can combine two arrays into one array. The first array contains the new keys and the second array contains the values ​​to be used. This function can be used to change the key value of the original array, as follows:

$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry');
$newKeys = array(1,2,3);
$newArray = array_combine($newKeys,$oldArray);
print_r($newArray);

In this example, we first define an array $oldArray containing 3 elements, whose keys are a, b and c. , the corresponding values ​​are apple, banana and cherry respectively. Next, we define a new array $newKeys, which contains three numbers 1, 2 and 3. Finally, we use the array_combine() function to pass the $newKeys array as the new keys to the $oldArray array, generating a new array $newArray where the old keys are the values ​​and the new keys are 1, 2, and 3. Finally, use the print_r() function to output $newArray. The result is as follows:

Array
(
    [1] => apple
    [2] => banana
    [3] => cherry
)

The keys here are 1, 2 and 3 instead of the original a, b and c.

2. Use array_values() function and array_flip() function

array_values() function can return all the values ​​in the array and re-index the original keys as numeric keys starting from 0 . This function can be used to generate a new array whose keys are numeric keys starting from 0. The array_flip() function can flip the keys and values ​​in the array. By combining these two functions, you can change the key values ​​of the original array, as follows:

$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry');
$newArray = array_flip(array_values($oldArray));
print_r($newArray);

In this example, we first define an array $oldArray containing 3 elements, and its keys are The corresponding values ​​of a, b and c are apple, banana and cherry respectively. Use the array_values() function to rearrange the values ​​in the $oldArray array into numeric keys starting from 0 to generate a new array. Then, use the array_flip() function to flip the keys and values ​​in the new array, so that the original values ​​become the new keys, and the new keys are numeric keys starting from 0. Finally, use the print_r() function to output $newArray. The result is as follows:

Array
(
    [apple] => 0
    [banana] => 1
    [cherry] => 2
)

The new keys here are numeric keys starting from 0, instead of the original a, b and c.

3. Use array_map() function and anonymous function

The array_map() function can apply a function to all values ​​of an array and return a new array. This function can be used to generate a new array whose keys are new values ​​obtained by applying a function to the keys in the original array. Using anonymous functions in combination, you can change the key values ​​of the original array, as follows:

$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry');
$newArray = array_map(function($key){
    return $key.'123';
},array_flip($oldArray));

print_r($newArray);

In this example, we first define an array $oldArray containing 3 elements, whose keys are a and b. and c, the corresponding values ​​are apple, banana and cherry respectively. Next, use the array_flip() function to flip the keys and values ​​in the $oldArray array so that the new keys are the original values. Then, use the array_map() function to apply an anonymous function to the key of each array element. This anonymous function adds a suffix "123" to each key, and finally returns a new array. Finally, use the print_r() function to output $newArray. The result is as follows:

Array
(
    [apple123] => 0
    [banana123] => 1
    [cherry123] => 2
)

The new key here is the original value, and a suffix "123" is added to each key.

Summary

There are many ways to change the keys of an array in PHP. The above are three common methods. Using these methods, you can easily change the key values ​​of the array to meet various needs. Different methods are suitable for different situations, and you can choose which method to use according to your needs.

The above is the detailed content of How to change the keys of an array in PHP. 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