When writing a PHP program, sometimes you need to perform some operations on the array, such as modifying the key value of the array. In many cases, we may need to replace a key value of the array to meet our needs.
Here we introduce a simple and efficient method to replace the key value in the PHP array.
1. Use the array_combine() function
The array_combine() function in PHP can be used to use the values in one array as the keys of a new array, and the values in another array as the new array. value.
Therefore, we can first create a new array, use the value in the original array as the value of the new array, then use the key value to be replaced as the key of the new array, and finally combine the two arrays through the array_combine() function Merge into new array.
The sample code is as follows:
$array = array('a' => 1, 'b' => 2, 'c' => 3); $key = 'b'; $newKey = 'd'; if (array_key_exists($key, $array)) { $keys = array_keys($array); $values = array_values($array); $pos = array_search($key, $keys); $keys[$pos] = $newKey; $array = array_combine($keys, $values); }
In the above code, we can see that the array_key_exists() function is first used to determine whether the key value to be replaced exists in the original array. If it exists, Then use the array_keys() and array_values() functions respectively to obtain the keys and values in the original array.
Next, use the array_search() function to find the position of the key value to be replaced in the original array, and replace it with the new key value.
Finally, use the array_combine() function to combine the new keys and values, generate a new array, and complete the replacement operation.
The advantage of this method is that it is simple, reliable and efficient, and is suitable for most array replacement scenarios.
2. Use the array_splice() function
In addition to using the array_combine() function, we can also use the array_splice() function to replace the key value.
array_splice() function is to remove the specified element from the array and replace the deleted element with other elements.
The sample code is as follows:
$array = array('a' => 1, 'b' => 2, 'c' => 3); $key = 'b'; $newKey = 'd'; if (array_key_exists($key, $array)) { $keys = array_keys($array); $values = array_values($array); $pos = array_search($key, $keys); array_splice($keys, $pos, 1, $newKey); $array = array_combine($keys, $values); }
In the above code, we use the array_splice() function to delete the key value to be replaced in the original array and insert the new key value into the same position.
Then, use the array_combine() function to combine the new keys and values to generate a new array.
This method is also a simple and efficient way to replace key values, but compared to the array_combine() function, its operation process is slightly more cumbersome.
3. Use the unset() function
In addition to the above two methods, we can also use the unset() function to delete the key value to be replaced, and use the assignment operation to add a new key value.
The sample code is as follows:
$array = array('a' => 1, 'b' => 2, 'c' => 3); $key = 'b'; $newKey = 'd'; if (array_key_exists($key, $array)) { unset($array[$key]); $array[$newKey] = $value; }
In the above code, we use the unset() function to delete the key value to be replaced, and use the assignment operation to add a new key value.
Compared with the first two methods, this method is simpler, but during array operations, you need to pay attention to whether you need to retain the values in the original array.
4. Use the array_replace_key() function
PHP 7.2 provides a new function array_replace_key(), which can be used to replace the key value in the array.
Using this function is very simple. The sample code is as follows:
$array = array('a' => 1, 'b' => 2, 'c' => 3); $key = 'b'; $newKey = 'd'; if (array_key_exists($key, $array)) { $array = array_replace_key($key, $newKey, $array); }
In the above code, we use the array_replace_key() function to replace the key value $key in the original array with $newKey, and Generate new array.
Compared with the first three methods, using the array_replace_key() function is simpler and more efficient, but it should be noted that this function is only applicable to PHP 7.2 and above.
Summary
The above are four methods of replacing key values in PHP arrays, namely:
1. Use array_combine() function
2. Use array_splice( ) Function
3, use unset() function
4, use array_replace_key() function (requires PHP 7.2 and above)
The above methods can be selected according to actual needs, which one to choose The method depends on the needs of the business scenario, as well as the complexity and efficiency requirements of the code.
The above is the detailed content of How to replace the key value of an array in php. For more information, please follow other related articles on the PHP Chinese website!