array_merge()——PHP

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程序員"
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章