array_merge和+的区别

1、当键值是字符串时,array_merge后面会覆盖前面的。+如果前面键值出现了,后面的不要。

$a = [
    'a' => 2,
    'b' => 3
];

$b = [
    'a' => 3,
    'c' => 4
];

var_dump(array_merge($a, $b));
echo "<br>";
var_dump($a+ $b);

输出:

array(3) { ["a"]=> int(3) ["b"]=> int(3) ["c"]=> int(4) } 
array(3) { ["a"]=> int(2) ["b"]=> int(3) ["c"]=> int(4) }

2、当键值是数字时,array_merge会追加,+保留前面的。

$a = [
    1 => 2,
    2 => 3
];

$b = [
    2 => 5,
    3 => 4
];

var_dump(array_merge($a, $b));
echo "<br>";
var_dump($a+ $b);

输出:

array(4) { [0]=> int(2) [1]=> int(3) [2]=> int(5) [3]=> int(4) } 
array(3) { [1]=> int(2) [2]=> int(3) [3]=> int(4) }

 

上一篇:PHP中的数组分页实现(非数据库)


下一篇:jvm系列(四):jvm调优-命令篇