PHP中array_merge函數與array+array的區別

在PHP中能夠使用array_merge函數和兩個數組相加array+array的方式進行數組合並,但二者效果並不相同,下面爲你們介紹二者具體的使用區別.

區別以下:

1. 當下標爲數值時,array_merge()不會覆蓋掉原來的值,但array+array合併數組則會把最早出現的值做爲最終結果返回,而把後面的數組擁有相同鍵名的那些值「拋棄」掉(不是覆蓋). 
2. 當下標爲字符時,array+array仍然把最早出現的值做爲最終結果返回,而把後面的數組擁有相同鍵名的那些值「拋棄」掉,但array_merge()此時會覆蓋掉前面相同鍵名的值.

例子1:

代碼:php

$arr1 = ['PHP', 'apache'];
$arr2 = ['PHP', 'MySQl', 'HTML', 'CSS'];
$mergeArr = array_merge($arr1, $arr2);
$plusArr = $arr1 + $arr2;
var_dump($mergeArr);
var_dump($plusArr);

結果:html

$mergeArr:apache

array (size=6)
  0 => string 'PHP' (length=3)
  1 => string 'apache' (length=5)
  2 => string 'PHP' (length=3)
  3 => string 'MySQl' (length=5)
  4 => string 'HTML' (length=4)
  5 => string 'CSS' (length=3)

$plusArr:segmentfault

array (size=4)
0 => string 'PHP' (length=3)
1 => string 'apache' (length=5)
2 => string 'HTML' (length=4)
3 => string 'CSS' (length=3)

例子2:

代碼:數組

$arr1 = ['PHP', 'a'=>'MySQl'];
$arr2 = ['PHP', 'MySQl', 'a'=>'HTML', 'CSS'];
$mergeArr = array_merge($arr1, $arr2);
$plusArr = $arr1 + $arr2;
var_dump($mergeArr);
var_dump($plusArr);

結果ide

$mergeArr:函數

array (size=5)
  0 => string 'PHP' (length=3)
  'a' => string 'HTML' (length=4)
  1 => string 'PHP' (length=3)
  2 => string 'MySQl' (length=5)
  3 => string 'CSS' (length=3)

$plusArr:學習

array (size=4)
0 => string 'PHP' (length=3)
'a' => string 'MySQl' (length=5)
1 => string 'MySQl' (length=5)
2 => string 'CSS' (length=3)

例子3:

代碼:code

$arr1 = ['PHP', 'a'=>'MySQl','6'=>'CSS'];
$arr2 = ['PHP', 'MySQl', 'a'=>'HTML', 'CSS'];
$mergeArr = array_merge($arr1, $arr2);
$plusArr = $arr1 + $arr2;
var_dump($mergeArr);
var_dump($plusArr);

結果:視頻

$mergeArr:

array (size=6)
  0 => string 'PHP' (length=3)
  'a' => string 'HTML' (length=4)
  1 => string 'CSS' (length=3)
  2 => string 'PHP' (length=3)
  3 => string 'MySQl' (length=5)
  4 => string 'CSS' (length=3)

$plusArr:

array (size=5)
0 => string 'PHP' (length=3)
'a' => string 'MySQl' (length=5)
6 => string 'CSS' (length=3)
1 => string 'MySQl' (length=5)
2 => string 'CSS' (length=3)

相信經過上邊三個例子你們已經很是清楚array_merge()函數和array+array數組相加的區別了吧。
轉載請註明來源:https://segmentfault.com/a/11...
全階段PHP教學視頻下載地址:http://www.mobiletrain.org/vi...
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。互聯網+時代,時刻要保持學習,攜手千鋒PHP,Dream It Possible。

相關文章
相關標籤/搜索