Home  >  Article  >  Backend Development  >  How to replace the key value of an array in php

How to replace the key value of an array in php

PHPz
PHPzOriginal
2023-04-18 09:47:222668browse

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!

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