是否有可能合併2個數組而不重疊相同的鍵?合併2陣列,並添加一個新的項目,如果密鑰存在
我希望它添加一個新的項目,如果一個密鑰已經存在。
就像那個
$a = array(1,2,3,4);
$b = array(3,4,5,6);
merge $a and $b
期望的結果是
array(1,2,3,4,3,4,5,6)
是否有可能合併2個數組而不重疊相同的鍵?合併2陣列,並添加一個新的項目,如果密鑰存在
我希望它添加一個新的項目,如果一個密鑰已經存在。
就像那個
$a = array(1,2,3,4);
$b = array(3,4,5,6);
merge $a and $b
期望的結果是
array(1,2,3,4,3,4,5,6)
$a = array(1,2,3,4);
$b = array(3,4,5,6);
$c = array_merge($a,$b);
print_r($c);
這是從幫助的關鍵短語:
如果輸入的數組中有相同的字符串鍵,那麼該密鑰的後來值 將覆蓋前一個。但是,如果數組鍵 包含數字鍵,則後面的值不會覆蓋原始值 值,但會被追加。
所以,當你有數字鍵
嘗試array_merge
:
$result = array_merge($a, $b);
這隻會工作,你可以使用函數array_merge
用於這一目的。但我想指出的是,數組的內容是數組的值而不是鍵。在PHP 中,您不能有重複密鑰。
嘗試
<?php
$merged_array = array_merge($a, $b);
?>
也存在功能array_merge_recursive。
我可以使用array_unshift爲同樣的想法,但爲了prepend第二個數組? – 2012-04-17 12:31:11
@Ahmetvardar nope - 你將不得不循環第二個數組,並且一次不移動一個鍵/值 - 不移動數組產生以下內容 - > http://codepad.org/oViUCBel – ManseUK 2012-04-17 12:35:02