との配列を比較しarray_diff_key
ていますarray_diff_ukey
が、出力は両方の配列とは異なります。マニュアルによると、後者の関数がコールバックを許可することを除いて、両方の関数に違いはありませんが、出力に違いがあります。
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "");
print_r($result = array_diff_key($array1, $array2));
$result = array_diff_ukey($array1, $array2, function($key1, $key2) {
if ($key1 == $key2)
return 0;
elseif ($key1 > $key2)
return 1;
else
return -1;
});
print_r($result);
出力:
Array
(
[a] => green
[2] => red
)
Array
(
[2] => red
)