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ụ

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

Bài liên quan

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

Hoàng Hải Đăng viết 15:08 ngày 07/01/2019

PHP Function: array_column()

# Description Hàm array_column() trong php dùng để lấy một cột trong một mảng và trả về giá trị từ một cột duy nhất đó. # Parameters Cú pháp : array array_column ( array $array , mixed $column_key [, mixed $index_key = null ] ) ...

Hoàng Hải Đăng viết 14:57 ngày 07/01/2019

PHP Function: array_diff_uassoc()

# Description Hàm array_diff_uassoc() sẽ trả về một mảng các phần tử theo điều kiện của hàm $key_compare_func truyền vào, điều này khác với array_diff_assoc() là hàm để so sánh theo toán tử bằng. # Parameters Cú pháp : array array_diff_uassoc ...

Trịnh Tiến Mạnh viết 14:57 ngày 07/01/2019

PHP Function: array_chunk()

# Description Hàm array_chunk() trong php có tác dụng cắt một mảng thành một mảng mới, trong đó mỗi phần tử của mảng mới là một mảng gồm n phần tử ( n do người sư quyết định thông qua tham số của hàm ) và các phần tử này chính là các phần tử mà ta đã cắt ở ...

Trần Trung Dũng viết 14:57 ngày 07/01/2019

PHP Function: array_count_values()

# Description Hàm array_count_values() trong php dùng để đếm số lần trùng lặp giá trị của các phần tử trong mảng. Kết quả của nó sẽ trả về một mảng với key chính là giá trị của các phần tử và value chính là số lần trùng lặp (xuất hiện). # Parameters ...

Tạ Quốc Bảo viết 14:56 ngày 07/01/2019
0