array_merge()将一個或多個數組進行合并
當參數為一個數組時,且數組key為數字,該函數将傳回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引。
array_merge([3=>'3', 4=>'4']);
輸出一個[0=>'3', 1=> '4']
當參數為兩個數組時,且有相同鍵名,後面的數組将會覆寫前面數組對應的同名鍵的值(鍵值不為數字)
array_merge(['a'=>'a','b'=>'b'], ['c'=>'c','a'=>'123'])
輸出['a'=>'123','b'=>'b,'c'=>'c']
當鍵值為數字時,不會覆寫,傳回所有數值
$arr1 = [1 => 'a', 2 => 'b'];
$arr2 = [1 => 'c', 2 => '333'];
傳回: Array ( [0] => a [1] => b [2] => c [3] => 333 )
+合并數組則會把最先出現的值作為最終結果傳回,而把後面的數組擁有相同鍵名的那些值“抛棄”掉(不是覆寫)
$arr1 = [1 => 'a', 2 => 'b'];
$arr2 = [1 => 'c', 2 => '333'];
print_r($arr1+$arr2) 輸出: Array ( [1] => a [2] => b )
1 鍵名為數字時,array_merge()不會覆寫掉原來的值,但+合并數組則會把最先出現的值作為最終結果傳回,而把後面的數組擁有相同鍵名的那些值“抛棄”掉(不是覆寫)
2 鍵名為字元時,+仍然把最先出現的值作為最終結果傳回,而把後面的數組擁有相同鍵名的那些值“抛棄”掉,但array_merge()此時會覆寫掉前面相同鍵名的值