php8.5
Home/ Manual/ array / functions/ array_replace

array_replace

PHP function Edit on GitHub ✎

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Replaces elements from passed arrays into the first array

Description

array_replace(array $array, array ...$replacements): array

array_replace() creates a new array and assigns items into it for each key in each of the provided arrays. If a key appears in multiple input arrays, the value from the right-most input array will be used.

array_replace() does not process elements items recursively, it replaces the entire value for each key when it does a replacement.

Parameters

array

The array in which elements are replaced.

replacements

Arrays from which elements will be extracted. Values from later arrays overwrite the previous values.

Return Values

Returns an array.

Examples

array_replace() example

php
<?php
$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");

$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>

The above example will output:

output
array(5) {
  [0]=>
  string(5) "grape"
  [1]=>
  string(6) "banana"
  [2]=>
  string(5) "apple"
  [3]=>
  string(9) "raspberry"
  [4]=>
  string(6) "cherry"
}

Example of how nested arrays are handled

php
<?php
$base = [ 'citrus' => [ 'orange', 'lemon' ], 'pome' => [ 'apple' ] ];
$replacements = [ 'citrus' => [ 'grapefruit' ] ];
$replacements2 = [ 'citrus' => [ 'kumquat', 'citron' ], 'pome' => [ 'loquat' ] ];

$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>

The above example will output:

output
array(2) {
  ["citrus"]=>
  array(2) {
    [0]=>
    string(7) "kumquat"
    [1]=>
    string(6) "citron"
  }
  ["pome"]=>
  array(1) {
    [0]=>
    string(6) "loquat"
  }
}

See Also

Source: reference/array/functions/array-replace.xml · from the official PHP manual (php/doc-en)