array merge 函式的用法

2021-08-05 23:10:01 字數 1174 閱讀 7982

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

php陣列函式 array merge

array merge 函式把兩個或多個陣列合併為乙個陣列。如果鍵名有重複,該鍵的鍵值為最後乙個鍵名對應的值。如果陣列是數字 索引,則鍵名會以連續方式重新索引。注 如果僅僅向array merge 函式輸入乙個陣列,且鍵名是整數,則該函 數將返回帶有整數鍵名的新陣列,其鍵名以0開始進行索引。arra...

array merge 和 的區別

在陣列合併的時候總是會碰到是否會覆蓋的問題。因此。我做了一下總結。先貼出結果。對於 陣列中具有相同的鍵名的值會被覆蓋。不論是索引陣列還是關聯陣列 對於array merge 函式。如果是關聯陣列,如果含有相同的鍵名,後面的值會覆蓋前面的值。如果是索引陣列,不會覆蓋原來的值,而是直接追加到後面。arr...

PHP函式原始碼之array merge分析

在使用array merge時是需要注意鍵的型別的,對於string 的key 和 數字key的處理方式是有區別的,雖然應用沒問題,但是偶爾寫的時候總有點對預期結果不踏實,所以我們還是從底層來分析下,這樣在用時候也就底氣十足了 php function array merge 注意傳入的引數,rec...