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"
}
*/