array_diff_key キーを基準にして配列の差を計算する 説明 arrayarray_diff_key arrayarray1 arrayarray2 array ... array_diff_key は、array1 から他の引数の配列の中に現れない全ての値を含む配列を返します。 キーと値の関係は維持されることに注意してください。この関数は array_diff に似ていますが、 値ではなくキーを用いて比較するという点が異なります。 <function>array_diff_key</function> の例 1, 'red' => 2, 'green' => 3, 'purple' => 4); $array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); var_dump(array_diff_key($array1, $array2)); ?> ]]> &example.outputs; int(2) ["purple"]=> int(4) } ]]> 二つの要素は、(string) $elem1 === (string) $elem2 の場合のみ等しいと見なされます。言い換えると、 文字列表現が同じ場合となります。 この関数は n 次元配列の一つの次元しかチェックしないことに注意してください。 もちろん、array_diff_key($array1[0], $array2[0]); のようにすることでより深い次元でのチェックもできます。 array_diffarray_udiffarray_diff_assocarray_diff_uassocarray_udiff_assocarray_udiff_uassocarray_diff_ukeyarray_intersectarray_intersect_assocarray_intersect_uassocarray_intersect_key および array_intersect_ukey も参照ください。