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