11/08/2018, 20:45
Cách nối associative array (mảng liên tưởng) trong PHP
Associative array là object sẽ gặp rất nhiều trong quá trình làm PHP. Ở bài này mình sẽ tổng hợp các cách nối associative array phổ biến và sự khác nhau giữa các cách nối đó array_merge array_merge là hàm có sẵn của PHP để nối 2 array với nhau $first = array('key1' => ...
Associative array là object sẽ gặp rất nhiều trong quá trình làm PHP.
Ở bài này mình sẽ tổng hợp các cách nối associative array phổ biến và sự khác nhau giữa các cách nối đó
array_merge
array_merge là hàm có sẵn của PHP để nối 2 array với nhau
$first = array('key1' => 'value1'); $second = array('key2' => 'value2'); $result = array_merge($first,$second); var_dump($result); /* array(2) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" } */
Sử dụng dấu +
$first = array('key1' => 'value1'); $second = array('key2' => 'value2'); $result = $first + $second; var_dump($result); /* array(2) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" } */
Khi key bị trùng lặp
array_merge sẽ overwrite bằng phần tử đúng sau, trong khi + sẽ ưu tiên phần từ đầu tiên
$first = array('key1' => 'value1'); $second = array('key1' => 'value2'); var_dump(array_merge($first,$second)); /* array(1) { ["key1"]=> string(6) "value2" } */ var_dump($first + $second); /* array(1) { ["key1"]=> string(6) "value1" } */
Khi key là số nguyên
Khi key là số nguyên thì array_merge sẽ đánh lại key nhưng + sẽ để nguyên key
$first = array(2 => 'value1'); $second = array(7 => 'value2'); var_dump(array_merge($first,$second)); /* array(2) { [0]=> string(6) "value1" [1]=> string(6) "value2" } */ var_dump($first + $second); /* array(2) { [2]=> string(6) "value1" [7]=> string(6) "value2" } */