PHP Function: array_replace_recursive()
Hàm array_replace_recursive() sẽ thay thế các phần tử của mảng đầu tiên bằng các phần tử của mảng thứ hai nếu chúng có cùng khóa. Nếu khóa của phần tử chỉ tồn tại ở mảng thứ nhất, phần tử đó sẽ được giữ nguyên. Nếu khóa chỉ tồn tại ở mảng thứ hai, phân tử đó sẽ ...
Hàm array_replace_recursive() sẽ thay thế các phần tử của mảng đầu tiên bằng các phần tử của mảng thứ hai nếu chúng có cùng khóa. Nếu khóa của phần tử chỉ tồn tại ở mảng thứ nhất, phần tử đó sẽ được giữ nguyên. Nếu khóa chỉ tồn tại ở mảng thứ hai, phân tử đó sẽ được thêm vào cuối mảng một.Nếu có nhiều hơn 2 mảng truyền vào, các mảng truyền vào sẽ được ưu tiên thay thế đè lên mảng trước đó nếu có khóa trùng nhau.
Khá giống với hàm array_replace() phải không. Tuy nhiên nếu các phần tử của các mảng truyền vào đều là các mảng thì sao, cùng tìm hiểu ví dụ nhé.
Cú pháp
Cú pháp: array_replace_recursive($array1, $array2 [, $array3...]);
Trong đó :
- $array1 là mảng gốc để thay thế.
 - $array2, $array3 ... là các mảng truyền vào, để so sánh khóa với mảng $array1 và thay thế.
 
Kết quả trả về là một mảng mới với các phần tử đã được thay thế.
Ví dụ
$array = array(
	'spain' => array( "Madrid") ,
	'England' => array(
					"Liverpool",
					"London"
				)
);
$replacements = array(
	'spain' => array('Barcelona'),
	'England' => array('Manchester')
);
$result = array_replace_recursive($array, $replacements);
echo "<pre>";
	print_r($result);
echo "</pre>";		
$result = array_replace($array, $replacements);
echo "<pre>";
	print_r($result);
echo "</pre>";	Array
(
    [spain] => Array
        (
            [0] => Barcelona
        )
    [England] => Array
        (
            [0] => Manchester
            [1] => London
        )
)
Array
(
    [spain] => Array
        (
            [0] => Barcelona
        )
    [England] => Array
        (
            [0] => Manchester
        )
)Ta có thể thấy, nếu dùng hàm array_replace_recursive() nó sẽ chỉ tìm đến khóa của mảng $array và $replacements rồi thay thế chứ không quan tâm đến giá trị của phần tử đó có là mảng hay không.
Tham khảo:php.net
Nguồn: code24h.com