THE WORLD'S LARGEST WEB DEVELOPER SITE

PHP array_replace_recursive() Function

❮ PHP Array Reference

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));
?>
Run example »

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 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 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 example »

Example 2

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);
?>
Run example »

❮ PHP Array Reference