首頁 >後端開發 >php教程 >array_merge PHP合併陣列+與array_merge的區別分析

array_merge PHP合併陣列+與array_merge的區別分析

WBOY
WBOY原創
2016-07-29 08:43:241221瀏覽

主要差異是兩個或多個數組中如果出現相同鍵名,鍵名分為字串或數字,需要注意
1)鍵名為數字時,array_merge()不會覆蓋原來的值,但+合併數組則會把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉(不是覆蓋)
2)鍵名為字符時,+仍然把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉,但array_merge()此時會覆蓋掉前面相同鍵名的值
需要注意的是數組鍵形式'數字' 等價於數字

複製代碼 代碼如下:


$a = array('a', 'b');
$b = array('c', 'd');
$c = $a + $b;
var_dump($a);
var_dump(array_merge( $a, $b));
$a = array(0 => 'a', 1 => 'b');
$b = array(0 => 'c', 1 => ' b');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));
$a = array('a ', 'b');
$b = array('0' => 'c', 1 => 'b');
$c = $a + $b;
var_dump($ c);
var_dump(array_merge($a, $b));
$a = array(0 => 'a', 1 => 'b');
$b = array(' 0' => 'c', '1' => 'b');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $ b));


結果

複製程式碼 程式碼如下:


array array 0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string ' d' (length=1)
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
array
0 = > string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length =1)
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
array
0 => string 'a ' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1 )

以上就介紹了array_merge PHP合併數組+與array_merge的區別分析,包括了array_merge方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn