例:
$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
沒有留言:
張貼留言