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

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

在PHP中可以使用array_merge函數和兩個數組相加array+array的方式進行數組合並,但兩者效果並不相同,下面爲大家介紹兩者具體的使用區別.
區別如下:

當下標爲數值時,array_merge()不會覆蓋掉原來的值,但array+array合併數組則會把最先出現的值作爲最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉(不是覆蓋).

當下標爲字符時,array+array仍然把最先出現的值作爲最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉,但array_merge()此時會覆蓋掉前面相同鍵名的值.

例子1:

代碼:


$arr1 = ['PHP', 'apache'];
$arr2 = ['PHP', 'MySQl', '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)
  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

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);

結果

$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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章