Home > Article > Backend Development > PHP replaces the key of an array
In PHP, if we need to change the name of one or more keys in an associative array, we can use the "array_keys()" and "array_combine()" functions to achieve array key replacement.
In this article, we will explain how to use these two functions to replace one or more keys in an associative array in PHP. We will cover the following topics:
When replacing the keys of a PHP associative array, we need to use the "array_keys()" function to get all the keys in the original array. This will return a new array containing all the keys of the original array.
The following is a code example of how to use the "array_keys()" function to obtain all keys in an associative array:
<?php $orig_array = array( 'name' => 'john', 'age' => 34, 'city' => 'New York' ); $keys = array_keys($orig_array); print_r($keys); ?>
The above code will output the following results:
Array ( [0] => name [1] => age [2] => city )
As above As mentioned above, we use the "array_keys()" function to get all the keys in the associative array. Now we can use these keys to change the key names in the associative array.
Now, we have obtained all the keys of the associative array to be replaced , let’s see how to combine the replaced values into a new array using the “array_combine()” function.
The "array_combine()" function combines two arrays into one array, where the values in one array will be used as the keys of the new array, and the values in the other array will be used as the values of the new array. So we will use this function to add new keys and old values to the new array.
The following is a sample code for replacing a PHP associative array with a new key name:
<?php $orig_array = array( 'name' => 'john', 'age' => 34, 'city' => 'New York' ); $keys = array_keys($orig_array); $new_keys = array( 'first_name', 'age', 'location' ); $replaced_array = array_combine($new_keys, $orig_array); print_r($replaced_array); ?>
The above code will output the following results:
Array ( [first_name] => john [age] => 34 [location] => New York )
As mentioned above, we Use the "array_combine()" function passing the new key and old value as two parameters. The function returns a new array with the old keys replaced with the new keys.
You may need to replace multiple key names at once. In this case, it is better to use a loop statement to replace each key name with a new key name.
The following is an example loop statement for replacing keys in multiple PHP associative arrays with new key names:
<?php $orig_array = array( 'name' => 'john', 'age' => 34, 'city' => 'New York', 'job' => 'developer' ); $keys = array_keys($orig_array); $new_keys = array( 'first_name', 'age', 'location', 'profession' ); $replaced_array = array(); foreach($orig_array as $key => $value) { $new_key = array_search($key, $keys); $replaced_array[$new_keys[$new_key]] = $value; } print_r($replaced_array); ?>
The above code will output the following results:
Array ( [first_name] => john [age] => 34 [location] => New York [profession] => developer )
As shown above, in the code above, we use a loop statement that iterates through the contents of the original array and adds a new key name to each key name after replacement.
Summary:
In PHP, you can use the "array_keys()" and "array_combine()" functions to replace the keys of an associative array. Using these functions, you can easily change one or more key names in an associative array. Note that you should back up the original array and always differentiate the new key names from the old key names. Also, if you have multiple PHP associative arrays that need to be changed, then it is better to create a separate function for the loop statement, which will make your code more efficient and easier to maintain.
The above is the detailed content of PHP replaces the key of an array. For more information, please follow other related articles on the PHP Chinese website!