PHP合併陣列 與array merge的區別

2022-10-09 12:36:10 字數 1215 閱讀 9413

php中合併兩個陣列可以使用+或者array_merge,但這兩個還是有區別的,清楚的了解這兩中處理方法的區別對專案的快速開發來說還是非常有必要的。

主要區別是當兩個或者多個陣列中如果出現相同鍵名,需要注意以下兩點:

首先需要說明一下php裡面陣列按鍵名大約可以分為字串(關聯陣列)或者數字(數值陣列),這裡就不討論多維陣列了。

(1)鍵名為數字(數值陣列)時,array_merge()不會覆蓋掉原來的值,但+合併陣列則會把最先出現的值作為最終結果返回,而把後面的陣列擁有相同鍵名的那些值「拋棄」掉(不是覆蓋)。

(2)鍵名為字元(關聯陣列)時,+仍然把最先出現的值作為最終結果返回,把後面的陣列擁有相同鍵名的那些值「拋棄」掉,但array_merge()此時會覆蓋掉前面相同鍵名的值。

下面通過幾個具體的例子進行說明:

m:array (

[0] => a

[1] => b

)n:array (

[0] => c

[1] => d

)m+n 結果為 : array (

[0] => a

[1] => b

)array_merge(m,n)結果為 : array (

[0] => a

[1] => b

[2] => c

[3] => d

)m:array (

[1] => a

[2] => b

)n:array (

[2] => c

[3] => d

)m+n結果為 : array (

[1] => a

[2] => b

[3] => d

)array_merge(m,n)結果為 : array (

[0] => a

[1] => b

[2] => c

[3] => d

)m:array (

[a] => a

[b] => b

)n:array (

[b] => c

[d] => d

)m+n結果為 : array (

[a] => a

[b] => b

[d] => d

)array_merge(m,n)結果為 : array (

[a] => a

[b] => c

[d] => d

)您可能感興趣的文章

PHP 合併陣列

php陣列合併 二元運算子 array merge array replace arr1 a first b second third arr2 a test1 c test2 test3 二元運算子 相同鍵 包括數字鍵與字串鍵 前面覆蓋後面的,不同鍵合併 new arr arr1 arr2 pri...

php陣列合併 array merge與 「 」

php中陣列合併有兩種方式 array merge 與 使用方式如下 arr array merge arr1 arr2 arr arr1 arr2 兩種方式看似相同,但使用中 坑 還是不少的。看下面的例子 arr1 array 3,3476,123,45,45,a 79 arr2 array 40...

PHP陣列 陣列合併

陣列合併函式 array merge或者 array merge 將乙個或多個陣列的單元合併起來,乙個陣列中的值附加在前乙個陣列的後面。返回作為結果的陣列。如果輸入的陣列中有相同的字串鍵名,則該鍵名後面的值將覆蓋前乙個值。然而,如果陣列包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。如果只...