Home  >  Article  >  Backend Development  >  php change array key

php change array key

PHPz
PHPzOriginal
2023-05-23 14:02:07392browse

PHP is a powerful scripting language that is widely used in web development. Among them, array is one of the most commonly used data types in PHP. It can store multiple data and index it in the form of key-value pairs. When using arrays, sometimes you need to change the value of the array key. This article will introduce how to change the array key in PHP.

1. Change through the array_combine() function

The array_combine() function is used to create a new array. The first parameter is the key name of the array, and the second parameter is the key value of the array. We can create a new associative array by passing an array containing key names and key values ​​as parameters. Therefore, you can first use the array_combine() function to create a new array, and then copy the values ​​in the old array to the new array to change the key name.

The following is an example of using the old key as the new key name:

// 创建旧数组
$old_array = array(
    'name' => 'John',
    'age' => 25,
    'gender' => 'male'
);

// 创建新数组并更改键名
$new_keys = array('name', 'new_age', 'gender');
$new_array = array_combine($new_keys, $old_array);

print_r($new_array);

In this example, we first create the old array. We then created a new array using the array_combine() function passing the new keys as arguments. The keys of the new array include "name" and "gender" from the old array, as well as the new key "new_age". We end up outputting a new array with updated keys.

2. Change through foreach loop

Using foreach loop can change the array key more directly. We can loop through each value in the old array and store it into the new array, changing the key names. Here is an example:

// 创建旧数组
$old_array = array(
    'name' => 'John',
    'age' => 25,
    'gender' => 'male'
);

// 创建新数组并更改键名
$new_array = array();
foreach($old_array as $key => $value) {
    $new_key = str_replace('age', 'new_age', $key);
    $new_array[$new_key] = $value;
}

print_r($new_array);

This example changes the "age" key in the old array to the "new_age" key and stores the changed key value into the new array. By using a foreach loop we can iterate through each element of the old array and change the key name in each element.

3. Change through the array_map() function

We can use the array_map() function to change the array key. This function will loop through the old array, apply a callback function to each key, and return a new array. Therefore, we can use a callback function to make changes to each key name.

The following is an example:

// 创建旧数组
$old_array = array(
    'name' => 'John',
    'age' => 25,
    'gender' => 'male'
);

// 创建新数组并更改键名
$new_array = array_map(function($key){
    if($key == 'age') {
        return 'new_age';
    } 
    return $key;
}, array_keys($old_array));

$new_array = array_combine($new_array, array_values($old_array));

print_r($new_array);

In this example, we first use the array_keys() function to get all the key names in the old array, and then use the array_map() function to apply the callback function to each key name. In the callback function, we determine whether the key name is "age". If so, return "new_age", otherwise return the original key name.

Use the array_values() function to obtain all key values ​​​​in the old array, and finally use the array_combine() function to combine the new key names and old key values ​​​​to form a new array.

Summary

There are many ways to change array keys in php, we can use array_combine() function, foreach loop or array_map() function to achieve it. Which method to choose depends on the specific usage scenarios and application requirements. Mastering these methods can make us more flexible in dealing with various problems in development.

The above is the detailed content of php change array key. 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