Pi*R^2

PHP array_merge 和 array + array 的区别

PHP 函数使用

字数统计: 340阅读时长: 1 min
2018/06/05 Share

array_merge

官网说明

将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

array + array

官网说明

+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。

例子如下

example 1:

1
2
3
4
5
6
7
8
9
$addend = [ 'a' => 'apple', 'b' => 'banana', 'c' => 'cherry' ];
$summand = [ 'a' => 'apricot', 'b' => 'banana', 'd' => 'date' ];

// 非数字键key 相同不做merge,只是追加

print_r(array_merge($addend, $summand));
// key 相同,做覆盖

print_r($addend + $summand);

result:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Array
(
[a] => apricot
[b] => banana
[c] => cherry
[d] => date
)
Array
(
[a] => apple
[b] => banana
[c] => cherry
[d] => date
)

example 2:

1
2
3
4
5
$addend = [ 0 => 'apple', 1 => 'banana', 3 => 'cherry' ];
$summand = [ 0 => 'apricot', 1 => 'banana', 2 => 'date' ];

print_r(array_merge($addend, $summand));
print_r($addend + $summand);

result:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Array
(
[0] => apple
[1] => banana
[2] => cherry
[3] => apricot
[4] => banana
[5] => date
)
Array
(
[0] => apple
[1] => banana
[3] => cherry
[2] => date
)

原文作者:lpflpf

原文链接:http://blog.lpflpf.cn/passages/php-array_merge/

发表日期:2018-06-05 00:00:00

更新日期:2019-09-17 10:04:53

版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG
  1. 1. array_merge
  2. 2. array + array
  3. 3. 例子如下