2015年10月23日 星期五

PHP Array 相加與 Array_merge


例:
$arr_a = array('a'=>1, 'b'=>2, 1=>3);
$arr_b = array('b'=>1, 4, 5);

print_r(array_merge($arr_a, $arr_b));

$arr_c = $arr_a + $arr_b;
print_r($arr_c);
結果:
array_merge($arr_a, $arr_b):Array
(
    [a] => 1
    [b] => 1
    [0] => 3
    [1] => 4
    [2] => 5
)

$arr_c:Array
(
    [a] => 1
    [b] => 2
    [1] => 3
    [0] => 4
)

結論:
array_merge() - key 相同=>後蓋前。沒有 key (流水號 key)的值,則會以附加在尾端 (append) 的方式合併上去,而所有流水號 key 的 index 則會重排
array + array - 有 key 的值的部分是相反的前蓋後,而沒有 key(流水號 key)的部分也會前蓋後,流水號 index 不會重排


參考資料:
http://blog.hsatac.net/2012/11/php-array-plus-array-versus-array-merge/ PHP Array 相加與 Array_merge

沒有留言:

張貼留言