Hướng dẫn
Quảng cáo

Hàm array_replace_recursive() trong PHP

Hướng dẫn cách sử dụng hàm array_replace_recursive() về mảng trong lập trình PHP

Tác dụng của hàm array_replace_recursive()

The array_replace_recursive() function replaces the values in an array with the values from other arrays recursively. This function is mainly used with deeper arrays (an array inside an array).

The following table summarizes the technical details of this function.

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

Syntax

The basic syntax of the array_replace_recursive() function is given with:

array_replace_recursive(array1, array2, ...)

The following example shows the array_replace_recursive() function in action.

<?php
// Sample arrays
$array1 = array("pets"=>array("cat"), "wilds"=>array("wolf", "fox"));
$array2 = array("pets"=>array("dog", "horse"), "wilds"=>array("tiger"));

// Performing array replacement recursively
$result = array_replace_recursive($array1, $array2);
print_r($result);
?>

The array_replace_recursive() function replaces the values of the first array with the values from the following arrays in such a way that, if a key from the first array exists in the second array, its value will be replaced by the value from the second array. If the key exists in the second array, and not in the first, it will be created in the first array. If a key only exists in the first array, it will be left as is.

If multiple arrays are passed for the replacement, they will be processed in order, the later arrays overwriting the previous values. And, since this function is recursive, it will recurse into arrays and apply the same process to the inner values. See more examples at the bottom.


Parameters

The array_replace_recursive() function accepts the following parameters.

Parameter Description
array1 Required. Specifies the array in which elements are replaced.
array2 Optional. Specifies the array from which elements will be extracted.
... Optional. Specifies more array from which elements will be extracted. Values from later arrays overwrite the previous values.

More Examples

Here're some more examples showing how array_replace_recursive() function basically works:

The following example shows what happens if several arrays are passed for replacement.

<?php
// Sample arrays
$array1 = array("pets"=>array("cat"), "wilds"=>array("wolf", "fox"));
$array2 = array("pets"=>array("dog", "horse"), "wilds"=>array("tiger"));
$array3 = array("pets"=>array("rabbit"), "wilds"=>array("lion"));

// Performing array replacement recursively
$result = array_replace_recursive($array1, $array2, $array3);
print_r($result);
?>

Bài viết này đã giúp ích cho bạn?

Bài viết mới

Advertisements