Hàm array_merge trong PHP có nhiệm vụ hợp nhất nhiều bảng với nhau, các bảng phía sau nếu trùng KEY sẽ ghi đè lại phần tử 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_merge trong PHP
array_merge ([ array $... ] ) : array
Hàm array_merge có giá trị truyền vào là n mảng. Hàm trả về một mảng mới được gộp từ tất cả những bảng được truyền vào, các phần tử có KEY trùng nhau sẽ bị ghi đè bởi các phần tử sau.
Ví dụ 1 có KEY trùng nhau
<?php $array1 = array("color" => "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result); ?>
Và kết quả tương ứng sẽ là
Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
Ví dụ 2 có tham số là mảng rỗng
<?php $array1 = array(); $array2 = array(1 => "data"); $result = array_merge($array1, $array2); ?>
Và kết quả sẽ là
Array ( [0] => data )
Ví dụ 3 nếu bạn không muốn phần tử mảng sau ghi đè lại, hãy sử dụng toán tử +
<?php $array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a'); $array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b'); $result = $array1 + $array2; var_dump($result); ?>
Và kết quả sẽ là
array(5) { [0]=> string(6) "zero_a" [2]=> string(5) "two_a" [3]=> string(7) "three_a" [1]=> string(5) "one_b" [4]=> string(6) "four_b" }
Nếu sử dụng array_merge thì kết quả sẽ là
array(6) { [0]=> string(6) "zero_a" [1]=> string(5) "two_a" [2]=> string(7) "three_a" [3]=> string(5) "one_b" [4]=> string(7) "three_b" [5]=> string(6) "four_b" }
Ví dụ 4 gộp dữ liệu không phải mảng, bạn cần ép kiểu array trước
<?php $beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result); ?>
Array ( [0] => foo [1] => bar )
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm array_merge 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é.