array_diff_key
キーを基準にして配列の差を計算する
説明
arrayarray_diff_key
arrayarray1
arrayarray2
array ...
array_diff_key は、array1
から他の引数の配列の中に現れない全ての値を含む配列を返します。
キーと値の関係は維持されることに注意してください。この関数は
array_diff に似ていますが、
値ではなくキーを用いて比較するという点が異なります。
array_diff_key の例
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_diff、
array_udiff、
array_diff_assoc、
array_diff_uassoc、
array_udiff_assoc、
array_udiff_uassoc、
array_diff_ukey、
array_intersect、
array_intersect_assoc、
array_intersect_uassoc、
array_intersect_key および
array_intersect_ukey も参照ください。