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

How to modify array key names in PHP

Apr 25, 2023 am 09:07 AM

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);
Copy after login

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"
}
Copy after login

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);
Copy after login

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"
}
Copy after login

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);
Copy after login

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"
}
Copy after login

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 of this Website
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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the best practices for deduplication of PHP arrays What are the best practices for deduplication of PHP arrays Mar 03, 2025 pm 04:41 PM

What are the best practices for deduplication of PHP arrays

Can PHP array deduplication take advantage of key name uniqueness? Can PHP array deduplication take advantage of key name uniqueness? Mar 03, 2025 pm 04:51 PM

Can PHP array deduplication take advantage of key name uniqueness?

What Are the Latest PHP Coding Standards and Best Practices? What Are the Latest PHP Coding Standards and Best Practices? Mar 10, 2025 pm 06:16 PM

What Are the Latest PHP Coding Standards and Best Practices?

How Do I Work with PHP Extensions and PECL? How Do I Work with PHP Extensions and PECL? Mar 10, 2025 pm 06:12 PM

How Do I Work with PHP Extensions and PECL?

How to Implement message queues (RabbitMQ, Redis) in PHP? How to Implement message queues (RabbitMQ, Redis) in PHP? Mar 10, 2025 pm 06:15 PM

How to Implement message queues (RabbitMQ, Redis) in PHP?

What are the optimization techniques for deduplication of PHP arrays What are the optimization techniques for deduplication of PHP arrays Mar 03, 2025 pm 04:50 PM

What are the optimization techniques for deduplication of PHP arrays

Does PHP array deduplication need to be considered for performance losses? Does PHP array deduplication need to be considered for performance losses? Mar 03, 2025 pm 04:47 PM

Does PHP array deduplication need to be considered for performance losses?

How to Use Reflection to Analyze and Manipulate PHP Code? How to Use Reflection to Analyze and Manipulate PHP Code? Mar 10, 2025 pm 06:12 PM

How to Use Reflection to Analyze and Manipulate PHP Code?

See all articles