php array_merge與數組+運算符

<?php
$a = array(1,3=>4,'a' => 'aa', 'b' => 'bb');
$b = array(5, 'a' => 'a..', 'c' => 'c..');

$c = $a + $b; 
var_dump($c);

$c = array_merge($a,$b);
var_dump($c);

結果

array(5) {
  [0]=>
  int(1)
  [3]=>
  int(4)
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  ["c"]=>
  string(3) "c.."
}
array(6) {
  [0]=>
  int(1)
  [1]=>
  int(4)
  ["a"]=>
  string(3) "a.."
  ["b"]=>
  string(2) "bb"
  [2]=>
  int(5)
  ["c"]=>
  string(3) "c.."
}


array_merge有兩個注意點

1,相同字符串鍵名,右邊會覆蓋左邊

2,字符鍵名右邊不會覆蓋左邊,而且結果的數字鍵名會被從新從0開始升序整理

數組+號運算符則要簡單的多

右邊不會覆蓋左邊的,左邊沒有的用右邊的,字符鍵數字鍵一樣處理




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章