array_merge()——PHP

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15936309/article/details/90202688

array_merge() 函数把一个或多个数组合并为一个数组。

1 如果您仅向 array_merge() 函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。

<?php
$a=array(3=>"red",4=>"green");
print_r(array_merge($a));
?>

结果:

Array ( [0] => red [1] => green )

2 如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2));
?>

结果:

Array ( [a] => red [b] => yellow [c] => blue )

该函数与 array_merge_recursive() 函数之间的不同是在处理两个或更多个数组元素有相同的键名的情况。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。

array_merge_recursive()

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge_recursive($a1,$a2));
?>

结果:

Array ( [a] => red [b] => Array ( [0] => green [1] => yellow ) [c] => blue )

注:

如果您仅仅向 array_merge_recursive() 函数输入一个数组,结果与 array_merge() 相同,函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。

数组相加

数组相加则是先出现的保留,后出现的舍弃。如果有相同的整数下表则也会先出现的保留,后出现的舍弃,然后再重新排列下标。

$programmer1 = array("a"=>"PHP程序员","b"=>"JAVA程序员","IOS程序员");
$programmer2 = array("c" =>"安卓程序员","d" => "ASP程序员","前端","a"=> "DBA");
$programmer3 = array_merge($programmer1,$programmer2);
$programmer4 = $programmer1 + $programmer2;
var_dump($programmer3);
array(6) {
["a"]=>
string(3) "DBA"
["b"]=>
string(13) "JAVA程序员"
[0]=>
string(12) "IOS程序员"
["c"]=>
string(15) "安卓程序员"
["d"]=>
string(12) "ASP程序员"
[1]=>
string(6) "前端"
}

var_dump($programmer4);
array(5) {
["a"]=>
string(12) "PHP程序员"
["b"]=>
string(13) "JAVA程序员"
[0]=>
string(12) "IOS程序员"
["c"]=>
string(15) "安卓程序员"
["d"]=>
string(12) "ASP程序员"
}

猜你喜欢

转载自blog.csdn.net/qq_15936309/article/details/90202688
今日推荐