您的位置 首页 php

PHP数组合并+和array_merge()的区别

答案解析

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 )
 

文章来源:智云一二三科技

文章标题:PHP数组合并+和array_merge()的区别

文章地址:https://www.zhihuclub.com/77284.shtml

关于作者: 智云科技

热门文章

网站地图