同じキーを重複させずに2つの配列をマージすることは可能ですか?merge 2 arrayとkeyが存在する場合に新しい項目を追加する
キーがすでに存在する場合は、新しいアイテムを追加します。
その
$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つの配列をマージすることは可能ですか?merge 2 arrayとkeyが存在する場合に新しい項目を追加する
キーがすでに存在する場合は、新しいアイテムを追加します。
その
$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
を使用することができ、数字キー
array_merge
を試しているよう:
$result = array_merge($a, $b);
を持っているとき、これはのみ動作します。しかし、配列の内容はキーの配列ではなく、配列の値であることを指摘したいと思います。 PHP では、重複キーを使用することはできません。
は
<?php
$merged_array = array_merge($a, $b);
?>
また、機能array_merge_recursiveを存在を試してみてください。
私は同じ思考のためにarray_unshiftを使うことができますが、2番目の配列の先頭には? –
@Ahmetvardar nope - 2番目の配列をループし、一度にキー/値をシフトする必要があります - 配列をシフトすると次のようになります - > http://codepad.org/oViUCBel – ManseUK