Hàm array_replace_recursive trong PHP có nhiệm vụ 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 KEY 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 KEY 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 phía sau sẽ ghi đè lên mảng phía trước. Hàm này tương thích với PHP 4, PHP 5, PHP 7.
Cú pháp hàm array_replace_recursive trong PHP
array_replace_recursive ( array $array1 [, array $... ] ) : array
Hàm array_replace_recursive có tham số truyền vào là một mảng $array , và các tham số phía sau là mảng sẽ được thay thế. Hàm sẽ trả về một mảng mới đã được thay thế các phần tử.
<?php $base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), ); $replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry')); $basket = array_replace_recursive($base, $replacements); print_r($basket); $basket = array_replace($base, $replacements); print_r($basket); ?>
Và kết quả trả về sẽ là
Array ( [citrus] => Array ( [0] => pineapple ) [berries] => Array ( [0] => blueberry [1] => raspberry ) ) Array ( [citrus] => Array ( [0] => pineapple ) [berries] => Array ( [0] => blueberry ) )
Ví dụ khi có nhiều hơn 2 tham số
<?php $base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' ); $replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis')); $replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis'); $basket = array_replace_recursive($base, $replacements, $replacements2); print_r($basket); ?>
Trong ví dụ này các mảng sau phía sau sẽ ghi đè lại mảng phía trước nếu trùng KEY, trường hợp không trùng KEY thì sẽ giữ nguyên giá trị của mảng ban đầu.
Array ( [citrus] => Array ( [0] => pineapple ) [berries] => Array ( [0] => blueberry [1] => raspberry ) [others] => litchis )
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm array_replace_recursive trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé.
Bình luận: