Home  >  Article  >  Backend Development  >  Change key name of php array

Change key name of php array

WBOY
WBOYOriginal
2023-05-07 16:09:09708browse

In PHP, sometimes we need to modify the key name in an array. For example, when we get data from the database, the key name we get may not be what we want, and we need to change it to the key name we need. This article introduces several ways to change the key names of PHP arrays.

1. Use array_combine function

array_combine function can combine two arrays into one array. The value of the first array is used as the key name of the new array, and the value of the second array is used as The key value of the new array is as follows:

$new_keys = array('a', 'b', 'c');
$old_keys = array('1', '2', '3');
$old_values = array('one', 'two', 'three');

$associative_array = array_combine($new_keys, $old_values);
print_r($associative_array);

The output result is as follows:

Array
(
    [a] => one
    [b] => two
    [c] => three
)

Use the array_combine function to first place the new key name into an array, and then use the old key name and The key value generates an associative array, and finally the array_combine function is used to combine the two arrays to complete the modification of the key name.

2. Use the array_map function

The array_map function can apply a callback function to each element in the array, and use the return value of the callback function to replace the corresponding element in the original array. Because the callback function will only modify the value and not the key name, we can use the array_map function to modify the key name. The following is an example of using the array_map function to modify the key name:

$old_array = array(
    'firstname' => 'Tom',
    'lastname' => 'Hanks'
);

$new_array = array_map(function($value) {
    return str_replace('name', 'label', $value);
}, $old_array);

print_r($new_array);

The output result is as follows:

Array
(
    [firstlabel] => Tom
    [lastlabel] => Hanks
)

In this example, we use an anonymous function as a callback function to change the original key name The "name" in is replaced with "label", and the modified key name is obtained.

3. Use foreach loop

Use foreach loop to traverse an array, and use the unset function and new key name in the loop to reassign the element, and the key name can be modified. The following is an example of using a foreach loop to modify the key name:

$old_array = array(
    'name' => 'Tom',
    'gender' => 'male',
    'age' => 30
);

$new_array = array();
foreach($old_array as $key => $val) {
    if($key == 'name') {
        $new_array['fullname'] = $val;
    } else {
        $new_array[$key] = $val;
    }
}

print_r($new_array);

The output is as follows:

Array
(
    [fullname] => Tom
    [gender] => male
    [age] => 30
)

In this example, we first define a new empty array $new_array. Then iterate through all elements in the old array, and if the key name is "name", reassign it to "fullname", otherwise add the element directly to the new array. Finally got the modified array.

To sum up, we can use the array_combine function, array_map function or foreach loop to modify the key names in the PHP array. Each method has its applicable scenarios and characteristics. We can choose one or more of these methods to modify the key name according to actual needs.

The above is the detailed content of Change key name of 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