PHP 合并数组运算符 + 与 array_merge 函数

在 php 中对两个数组进行合并运算,通常使用 array_merge加号(+)运算符,他们的区别是什么呢?先让我们看看下面的测试用例

测试用例

<?php
$cfg = [
    0 => 'cfg-1',
    1 => 'cfg-1',
    'name' => 'hlq',
    'age' => 18,
    'job' => 'engineer'
];

$default = [
    0 => 'default-0',
    1 => 'default-1',
    'name' => 'hlq',
    'age' => 16,
    'hobby' => 'readding'
];

var_dump($cfg + $default);

var_dump(array_merge($cfg, $default));

执行结果

array_merge_vs_plus

去运行代码

结论

  • array_merge 和 加号运算符都可以合并数组
  • array_merge 对字符串键名数据,后一个数组数据会重写前一个数组数据;而加号运算符不会重写
  • array_merge 对数字键名数据,不会重写前一个数组数据,而是做附加操作

关于 “PHP 合并数组运算符 + 与 array_merge 函数” 的一个意见

发表评论

电子邮件地址不会被公开。 必填项已用*标注