Home  >  Article  >  Backend Development  >  How to replace values ​​in an array in php

How to replace values ​​in an array in php

PHPz
PHPzOriginal
2023-04-21 09:12:291031browse

Array operations are one of the most common tasks when programming in PHP. Among them, replacing the values ​​in the array is also one of the common operations.

In PHP, you can use two functions to replace values ​​in an array: array_replace() and array_replace_recursive(). Below, we will introduce the usage and precautions of these two functions respectively.

1. array_replace()

array_replace() function is to replace the values ​​of one or more arrays into the original array. The syntax is as follows:

mixed array_replace ( array $array1 , array $array2 [, array $... ] )

Among them, $array1 is the original array, $array2 is the array that needs to be replaced in the original array, $... can be used when there are multiple arrays that need to be replaced.

Below, we use the following code example to demonstrate the use of this function:

<?php
$array1 = array("a" => "red", "b" => "green");
$array2 = array("a" => "blue", "yellow");
$result = array_replace($array1, $array2);
print_r($result);
?>

The output result is as follows:

Array
(
    [a] => blue
    [b] => green
    [0] => yellow
)

It can be seen that the key in the original array $array1 The value of = 'a' is replaced by the value of key = 'a' in $array2, and there is no key in $array2, but is directly supplemented with numeric subscripts, so a new element 0 is generated: 'yellow'.

2. array_replace_recursive()

array_replace_recursive() function is similar to array_replace(). It also replaces the values ​​of one or more arrays into the original array. The difference is that if the array is multi-dimensionally nested, the function recursively replaces the corresponding values ​​of all sub-arrays. The syntax is as follows:

mixed array_replace_recursive ( array $array1 , array $array2 [, array $... ] )

Below, we use the following code example to demonstrate the use of this function:

<?php
$array1 = array("a" => array("red"), "b" => array("green", "blue"));
$array2 = array("a" => array("yellow"), "b" => array("black"));
$result = array_replace_recursive($array1, $array2);
print_r($result);
?>

The output result is as follows:

Array
(
    [a] => Array
        (
            [0] => yellow
        )

    [b] => Array
        (
            [0] => black
            [1] => blue
        )

)

It can be seen that the original array The corresponding values ​​in key = 'a' and key = 'b' in $array1 are replaced by the values ​​in $array2.

3. Notes

When using array_replace() and array_replace_recursive() functions, you need to pay attention to the following points:

  1. If the keys in the array are the same, The latter array will replace the value of the previous array, and the key-value pair corresponding to the previous array will be deleted.
  2. If the keys in the array are different, the subsequent array will be added to the previous array, and the value of the previous array will not be deleted.
  3. When using the array_replace_recursive() function, if the replaced array contains a multi-dimensional array, the function will recursively replace the corresponding values ​​of all sub-arrays. If you don't want to replace recursively, you can use the array_replace() function.

In general, array operations in PHP are very flexible, and array replacement operations can also be easily completed using some array functions. The usage and precautions of the above two functions are also very simple. I hope this article will be helpful to your PHP programming.

The above is the detailed content of How to replace values ​​in 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