配列の足し算引き算

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では前に置いた配列から後ろに置いた配列の値が差し引かれます。