PHP array_replace_recursive() Function
Example
Replace the values of the first array with the values from the second array recursively:
<?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));
?>
Try it Yourself »
Definition and Usage
The array_replace_recursive() function replaces the values of the first array with the values from following arrays recursively.
Tip: You can assign one array to the function, or as many as you like.
If a key from array1 exists in array2, values from array1 will be replaced by the values from array2. If the key only exists in array1, it will be left as it is. If a key exist in array2 and not in array1, it will be created in array1. If multiple arrays are used, values from later arrays will overwrite the previous ones.
Note: If you do not specify a key for each array, this function will behave exactly the same as the array_replace() function.
Syntax
array_replace_recursive(array1, array2, array3, ...)
Parameter Values
Parameter | Description |
---|---|
array1 | Required. Specifies an array |
array2 | Optional. Specifies an array which will replace the values of array1 |
array3,... | Optional. Specifies more arrays to replace the values of array1 and array2, etc. Values from later arrays will overwrite the previous ones. |
Technical Details
Return Value: | Returns the replaced array, or NULL if an error occurs |
---|---|
PHP Version: | 5.3.0+ |
More Examples
Example
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));
?>
Try it Yourself »
Example
Differences 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);
?>
Try it Yourself »
❮ PHP Array Reference