关于php:PHP-数组合并方法之-和-arraymerge的区别

7次阅读

共计 698 个字符,预计需要花费 2 分钟才能阅读完成。

两个数组没有指定索引的状况

$a = [1,2,3,];
$b = [1,2,3,'4','5','6'];

var_dump($a+$b);
// 后面的数组中雷同键值的元素会笼罩前面数组中的元素
array(5) {[0]=> int(1)
  [1]=> int(2)
  [2]=> int(3)
  [3]=> string(1) "4"
  [4]=> string(1) "5"
}

// 当两个数组都没有给定索引的花,array_merge 不会比拟
var_dump(array_merge($a,$b));
array(8) {[0]=> int(1)
  [1]=> int(2)
  [2]=> int(3)
  [3]=> int(1)
  [4]=> int(2)
  [5]=> int(3)
  [6]=> string(1) "4"
  [7]=> string(1) "5"
}

当两个数组都有指定索引的时候

$a = ['a' => 1, 'b' => 2, 'c' => 3];
$b = ['a' => 11, 'b' => 22, 'c' => 33, 'd' => '44', 'e' => '55'];

// 雷同索引,后面的数组会笼罩前面数组对应的值
var_dump($a+$b);
array(5) {["a"]=>int(1)
  ["b"]=>int(2)
  ["c"]=>int(3)
  ["d"]=>string(2) "44"
  ["e"]=>string(2) "55"
}

// 雷同索引,前面数组对应的值会笼罩后面数组
var_dump(array_merge($a,$b));
array(5) {["a"]=>int(11)
  ["b"]=>int(22)
  ["c"]=>int(33)
  ["d"]=> string(2) "44"
  ["e"]=> string(2) "55"
}
正文完
 0