PHPでの配列どうしの足し算引き算についてまとめておきます。
$array1 = array('a','b','fruit'=>'banana','c'); $array2 = array('a','fruit'=>'apple','e'); $array3 = array_merge($array1,$array2); $array4 = array_merge_recursive($array1,$array2); $array5 = array_diff($array1,$array2);
$array3,$array4,$array5の中身は以下のようになります。
$array3 = array('a','b','fruit'=>'apple','c','a','e'); $array4 = array('a','b','fruit'=>('banana','apple'),'c','a','e'); $array5 = array('b','fruit'=>'banana','c');
array_mergeではキーが同じ場合、キーが文字列の値については上書きされますが、キーが非負整数の値については上書きされません。
array_merge_recursiveではキーが同じ場合、キーが文字列の値については配列となってどちらも残り、キーが非負整数の値についてはarray_mergeと同じく上書きされません。
array_diifでは前に置いた配列から後ろに置いた配列の値が差し引かれます。