PHP数组的两种合并方法与差异

php中数组合并有两种方法,一种是使用函数array_merge(), 另一种是直接用“+”

两种方法合并的结果不同,

1. array_merge($arr1, $arr2)

如果数组的索引为数字,$arr2将会附加在$arr1后面。 

如果数组的索引为字符串,索引相同时 $arr2中的值将覆盖$arr1中的值

 

2. $arr1 + $arr2

无论索引为数字,还是字符串, 索引相同时$arr2都不能覆盖$arr1

 

例:

<?php
$arr_key_num_1 = array(
    0=>1,
    1=>2,
    2=>3
);
$arr_key_num_2 = array(
    1=>1,
    2=>2,
    3=>3
);

$arr_key_num_3 = array_merge($arr_key_num_1, $arr_key_num_2);
$arr_key_num_4 = $arr_key_num_1 + $arr_key_num_2;

print_r($arr_key_num_3);
print_r($arr_key_num_4);


$arr_key_str_1 = array(
    "a"=>1,
    "b"=>2,
    "c"=>3
);
$arr_key_str_2 = array(
    "b"=>1,
    "c"=>2,
    "d"=>3
);

$arr_key_str_3 = array_merge($arr_key_str_1, $arr_key_str_2);
$arr_key_str_4 = $arr_key_str_1 + $arr_key_str_2;

print_r($arr_key_str_3);
print_r($arr_key_str_4);

  

posted @ 2018-03-05 15:51  eeba  阅读(265)  评论(0)    收藏  举报