PHP数组合并+和array_merge()的区别
100人浏览 2024-12-29 10:18:38

答案解析
array_merge():
- 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。
- 如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
+:
- 如果输入的数组中有相同的字符串键名,把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉。
- 然而,如果数组包含数字键名,+运算会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)。
测试代码:
$array1['foo'] = 'Bar1'; $array2['foo'] = 'Bar2'; print_r($array1 + $array2); // Array ( [foo] => Bar1 ) print_r($array2 + $array1); // Array ( [foo] => Bar2 ) print_r(array_merge($array1, $array2)); // Array ( [foo] => Bar2 ) print_r(array_merge($array2, $array1)); // Array ( [foo] => Bar1 ) $array1 = [1, 2, 3]; $array2 = [4, 5, 6]; print_r($array1 + $array2); // Array ( [0] => 1 [1] => 2 [2] => 3 ) print_r($array2 + $array1); // Array ( [0] => 4 [1] => 5 [2] => 6 ) print_r(array_merge($array1, $array2)); // Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) print_r(array_merge($array2, $array1)); // Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 1 [4] => 2 [5] => 3 )

相关推荐
-
MySQL 中的反斜杠 \\,真是太坑了2025-04-21 01:42:45
-
mysql修改主键为自增 ,如果自增达到最大值,新增加数据会怎样?
mysql修改主键为自增 ,如果自增达到最大值,新增加数据会怎样?2025-04-21 01:31:46 -
Nginx学习笔记 autoindex on2025-04-21 00:26:47
-
.MySQL中的BETWEEN(在某个范围)2025-04-21 00:04:20
-
nginx设置目录浏览并支持中文2025-04-21 00:00:35