PHP合併陣列 與array merge的區別

2021-09-07 09:42:11 字數 1488 閱讀 6799

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 )

is_integer() 此函式是 is_int() 的別名函式,判斷是否是整數型別的變數,返回值為true或者false。注意:對於正整數,負整數和0的數字型別變數,該函式都返回true,其他都返回空(包括字串型別的整數);

is_numeric() 判斷是否是數字,返回值為true或者false。這個函式判斷條件非常寬鬆,只要是數字,無論你是字串型別的,還是數字型別,無論是正的,負的,0,還是浮點數,都將返回true。其他則返回false。

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