main logo png Danh sách hàm trong PHP

Quảng cáo

Tinohost giảm 30% VPS/Hosting các bạn ạ. Đây là nhà cung cấp đứng top tại Việt Nam, xem tại đây

Hàm array_replace_recursive() trong PHP

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é.

Quảng cáo

Cú pháp

Cú pháparray_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ế.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Ví dụ

Code
$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>";	

Kết quả
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$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.

Quảng cáo

Tham khảo:php.net

Quảng cáo

Các chủ đề liên quan:

Bài viết cùng chuyên mục:

Quảng cáo

Top