兩個的區別是:
1.數組鍵名爲數字鍵名時,要合併的兩個數組中有同名數字KEY的時候,使用array_merge()不會覆蓋掉原來的值,而使用「+」合併數組則會把最早出現的值做爲最終結果返回,而把後面的數組擁有相同鍵名的那些值「拋棄」掉(注意:不是覆蓋而是保留最早出現的那個值)。例子:數組
$array1 = array(1=>’0′);
$array2 = array(1=> 「data」);
$result1 = $array2 + $array1;/*結果爲$array2的值*/
print_r($result);
$result = $array1 + $array2 ;/*結果爲$array1的值*/
print_r($result);
$result3 = array_merge($array2,$array1);/*結果爲$array2和$array1的值,鍵名被從新分配*/
print_r($result3);
$result4 = array_merge($array1,$array2);/*結果爲$array1和$array2的值,鍵名被從新分配*/
print_r($result4);字符
輸出結果爲:
Array ( [1] => data )
Array ( [1] => 0 )
Array (
[0] => data
[1] => 0
)
Array
(
[0] => 0
[1] => data
)數字
2.當相同數組鍵名爲字符時,「+」運算符與鍵名爲數字時同樣,但array_merge()此時會覆蓋掉前面相同鍵名的值。
例子:
$array1 = array(‘asd’=>’0′);
$array2 = array(‘asd’ => 「data」);
$result1 = $array2 + $array1;/*結果爲$array2的值*/
print_r($result);
$result = $array1 + $array2 ;/*結果爲$array1的值*/
print_r($result);
$result3 = array_merge($array2,$array1);/*結果爲$array1*/
print_r($result3);
$result4 = array_merge($array1,$array2);/*結果爲$array2*/
print_r($result4);
輸出結果爲:data
Array ( [asd] => data )
Array ( [asd] => 0 )
Array ( [asd] => 0 )
Array ( [asd] => data )運算符