Home >Backend Development >PHP Problem >How to modify array key names in PHP

How to modify array key names in PHP

PHPz
PHPzOriginal
2023-04-25 09:07:11804browse

PHP Array is a very useful data type that is often used in development. Normally, we can access elements in an array through subscripts. However, in the actual development process, sometimes it is necessary to modify the key names in the array. This article will introduce how to modify array key names in PHP.

1. Use the array_combine() function

array_combine() function can combine two arrays into a new 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 value of the new array. We can use this feature to modify the key names of the array.

For example, the following code creates an associative array whose key names are the numbers 0 to 4. Then use the array_combine() function to replace the key names in the array with the string values ​​A to E:

// 创建数组
$arr = array('0' => 'apple', '1' => 'banana', '2' => 'cherry',
             '3' => 'orange', '4' => 'pear');

// 将数组键名替换
$keys = array('A', 'B', 'C', 'D', 'E');
$new_arr = array_combine($keys, $arr);

// 输出新数组
var_dump($new_arr);

The output results are as follows:

array(5) {
  ["A"]=>
  string(5) "apple"
  ["B"]=>
  string(6) "banana"
  ["C"]=>
  string(6) "cherry"
  ["D"]=>
  string(6) "orange"
  ["E"]=>
  string(4) "pear"
}

2. Use the array_flip() and array_merge() functions

array_flip() function can interchange the key names and key values ​​in the array to generate a new array. At the same time, we can also use the array_merge() function to merge two arrays into a new array.

For example, the following code creates an associative array with key names ranging from 0 to 4. Then use the array_flip() function to swap the key names and key values ​​and generate a new array. Then, use the array_merge() function to merge the new array and the original array to generate the final array, in which the key names of the original array have been replaced with string values ​​A to E:

// 创建数组
$arr = array('0' => 'apple', '1' => 'banana', '2' => 'cherry',
             '3' => 'orange', '4' => 'pear');

// 将数组键名替换
$keys = array('A', 'B', 'C', 'D', 'E');
$flipped = array_flip($arr);
$new_arr = array_merge(array_flip($keys), $flipped);

// 输出新数组
var_dump($new_arr);

The output results are as follows:

array(5) {
  ["A"]=>
  string(1) "0"
  ["B"]=>
  string(1) "1"
  ["C"]=>
  string(1) "2"
  ["D"]=>
  string(1) "3"
  ["E"]=>
  string(1) "4"
}

3. Use foreach to loop through and modify

If you only need to modify some key names in the array, you can use foreach to loop through the array and operate on the key names that need to be modified. For example, the following code creates an associative array whose keys are the numbers 0 through 4. Then use foreach to loop through the array, modify the elements with key names 2 and 3, and replace the values ​​of their key names with string values ​​​​C and D:

// 创建数组
$arr = array('0' => 'apple', '1' => 'banana', '2' => 'cherry',
             '3' => 'orange', '4' => 'pear');

// 修改数组键名
$arr_keys = array_keys($arr);
foreach ($arr_keys as $key) {
    if ($key == '2') {
        $new_key = 'C';
    } else if ($key == '3') {
        $new_key = 'D';
    } else {
        $new_key = $key;
    }
    $new_arr[$new_key] = $arr[$key];
}

// 输出新数组
var_dump($new_arr);

The output results are as follows:

array(5) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  ["C"]=>
  string(6) "cherry"
  ["D"]=>
  string(6) "orange"
  [4]=>
  string(4) "pear"
}

Summary

This article introduces several methods of modifying array key names in PHP, including using the array_combine() function, using the array_flip() and array_merge() functions, and using the foreach loop to traverse and modify. Just choose the appropriate method according to actual needs.

The above is the detailed content of How to modify array key names 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