📌  相关文章
📜  PHP的array_merge 和 array + array 有什么区别?(1)

📅  最后修改于: 2023-12-03 15:33:41.068000             🧑  作者: Mango

PHP的array_merge 和 array + array 有什么区别?

在 PHP 中,array_merge 和 + 运算符都可以用来合并两个或多个数组。但它们之间有区别。

array_merge 函数

array_merge 函数将一个或多个数组合并为一个新数组,并返回新数组。新数组的键名将重新索引以连续编号。

语法
array_merge ( array $array1 [, array $array2 [, array $... ]] ) : array
示例
$array1 = array('apple', 'banana');
$array2 = array('cherry', 'dates');
$result = array_merge($array1, $array2);
print_r($result);

输出:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => dates
)
+ 运算符
  • 运算符也可以用来合并两个或多个数组。但与 array_merge 不同的是,+ 运算符将保留左侧数组的键名,而右侧数组的键名如果与左侧数组中的键名重复,将被忽略。
示例
$array1 = array('a' => 'apple', 'b' => 'banana');
$array2 = array('b' => 'blueberry', 'c' => 'cherry');
$result = $array1 + $array2;
print_r($result);

输出:

Array
(
    [a] => apple
    [b] => banana
    [c] => cherry
)
区别

简单来说,array_merge 函数将不保留键名而重新索引数组,而 + 运算符将保留左侧数组的键名而忽略右侧数组中与左侧数组重复的键名。

所以,在合并数组时,选择使用哪种方法取决于你对键名的需求。如果你需要重置键名并创建连续索引数组,则使用 array_merge 函数。如果你需要保留特定的键名,则应使用 + 运算符。

参考资料