PHP provides functions to replace values in arrays with new values. These functions are array_replace() and array_replace_recursive(). The main difference is that array_replace() works only on the top level of an array, whereas array_replace_recursive() works on all levels.
array_replace() replaces values using matching keys at the first level.array_replace_recursive() replaces values in nested arrays.
// Basic syntax for array_replace
array_replace($array1, $array2, ...);
// Basic syntax for array_replace_recursive
array_replace_recursive($array1, $array2, ...);
// Replace top-level values using array_replace
"red", "banana" => "yellow", "cherry" => "red");
$replacement = array("banana" => "green", "cherry" => "pink");
print_r(array_replace($fruits, $replacement));
?>
The values of banana and cherry are replaced, while apple remains unchanged.
// Replace nested values using array_replace_recursive
"red", "tropical" => array("banana" => "yellow", "mango" => "orange"));
$replace = array("tropical" => array("banana" => "green"));
print_r(array_replace_recursive($fruit, $replace));
?>
The nested banana value inside tropical is updated, while other values remain the same.
array_replace() for simple, flat arrays.array_replace_recursive() for multidimensional arrays.array_replace().