array_diff_ukey
キーを基準にし、コールバック関数を用いて配列の差を計算する
説明
arrayarray_diff_ukey
arrayarray1
arrayarray2
array ...
callbackkey_compare_func
array_diff_ukey は、array1
から他の引数の配列の中に現れない全ての値を含む配列を返します。
キーと値の関係は維持されることに注意してください。この関数は
array_diff に似ていますが、
値ではなくキーを用いて比較するという点が異なります。
比較は、ユーザが指定したコールバック関数を利用して行われます。
この関数は、1 つめの引数が 2 つめより小さい / 等しい / 大きい
場合にそれぞれ 負の数 / ゼロ / 正の数 を返す必要があります。
array_diff_ukey の例
$key2)
return 1;
else
return -1;
}
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>
]]>
&example.outputs;
int(2)
["purple"]=>
int(4)
}
]]>
この関数は n 次元配列の一つの次元しかチェックしないことに注意してください。
もちろん、array_diff_ukey($array1[0], $array2[0], 'callback_func');
のようにすることでより深い次元でのチェックもできます。
array_diff、
array_udiff、
array_diff_assoc、
array_diff_uassoc、
array_udiff_assoc、
array_udiff_uassoc、
array_diff_key、
array_intersect、
array_intersect_assoc、
array_intersect_uassoc、
array_intersect_key および
array_intersect_ukey も参照ください。