PHP 数组相加 和 数组合并array_merge

$arr1 = array("a"=>"PHP","b"=>"java","python");

$arr2 = array("c" =>"ruby","d" => "c++","go","a"=> "swift");

$arr3 = array_merge($arr1,$arr2);

$arr4 = $arr1 + $arr2;

var_dump($arr3);
var_dump($arr4);die;

 

输出:

array(6) { ["a"]=> string(5) "swift" ["b"]=> string(4) "java" [0]=> string(6) "python" ["c"]=> string(4) "ruby" ["d"]=> string(3) "c++" [1]=> string(2) "go" }

 

array(5) { ["a"]=> string(3) "PHP" ["b"]=> string(4) "java" [0]=> string(6) "python" ["c"]=> string(4) "ruby" ["d"]=> string(3) "c++" }

 

在PHP中可以使用array_merge 函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,区别:

当下标为数值时,array_merge()不会覆盖掉原来的值,但arrayA+arrayB合并数组则会把最先值arrayA的值作为最终结果返回,而把arrayB数组拥有相同键名的那些值“抛弃”掉,而不是覆盖

当下标为字符时,arrayA+arrayB 仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值

 

posted @ 2019-03-04 18:30  诚享人生  阅读(18839)  评论(0编辑  收藏  举报