PHP array_replace_recursive() 函数

实例

递归地使用第二个数组($a2)的值替换第一个数组($a1)的值:

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

Run Instance

定义和用法

array_replace_recursive() 函数递归地使用后面数组的值替换第一个数组的值。

提示:您可以向函数传递一个数组,或者多个数组。

如果一个键存在于第一个数组 array1 同时也存在于第二个数组 array2,第一个数组 array1 中的值将被第二个数组 array2 中的值替换。如果一个键仅存在于第一个数组 array1,它将保持不变。如果一个键存在于第二个数组 array2,但是不存在于第一个数组 array1,则会在第一个数组 array1 中创建这个元素。如果传递了多个替换数组,它们将被按顺序依次处理,后面数组的值将覆盖之前数组的值。

注释:如果没有为每个数组指定一个键,该函数的行为将等同于 array_replace() 函数。

语法

array_replace_recursive(array1,array2,array3...)
Parameter Description
array1 Required. Specify array.
array2 Optional. Specify arrays to replace array1 of values arrays.
array3,... Optional. Specify multiple arrays to replace array1 and array2An array of values of ..., where the values of the subsequent arrays will override the values of the previous arrays.

Technical Details

Return Value: Returns the replaced array, or NULL if an error occurs.
PHP Version: 5.3.0+

More Examples

Example 1

Multiple Arrays:

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"));
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$a3=array("a"=>array("orange"),"b"=>array("burgundy"));
print_r(array_replace_recursive($a1,$a2,$a3));
?>

Run Instance

Example 2

Difference between array_replace() and array_replace_recursive():

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

Run Instance