array_intersect_key() は、他の全ての引数に存在する array1の値を全て有する配列を返します。
この例では、両方の配列に存在するキーが 'blue' と 'green' だけであり、それが返されていることが わかります。また、ふたつの配列の間で 'blue' と 'green' に対応する値が違うことにも注意しましょう。 それでも一致していると判定されるのは、ただキーだけがチェックされている からです。返される値は array1 のものです。
二つの要素は、 (string) $elem1 === (string) $elem2の場合のみ 等しいとみなされます。言い換えると、文字列表現が同じ場合となります。
array_diff(), array_udiff() array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc(), array_diff_key(), array_diff_ukey(), array_intersect(), array_intersect_assoc(), array_intersect_uassoc() および array_intersect_ukey() も参照ください。