天天看點

array_merge() 函數的用法

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()此時會覆寫掉前面相同鍵名的值

繼續閱讀