次のような 2 つの配列があります。 キー "a" がどちらの配列にもあります。
$array1 = array('a' => 1, 'b' => 2); $array2 = array('a' => 5, 'c' => 6);
この 2 つの配列を結合するのですが、 + 演算子と array_merge() 関数で キー "a" の値を上書きするかどうかを使い分けることができます。
まず + 演算子を使ってみます。
print_r($array1 + $array2);
Array
(
[a] => 1
[b] => 2
[c] => 6
)
キー "a" は、1 のままです。
次に array_merge() 関数。
print_r(array_merge($array1, $array2));
Array
(
[a] => 5
[b] => 2
[c] => 6
)
キー "a" は、5 で上書きされました。
このように + 演算子では上書きせず、 array_merge() 関数では上書きします。