array_intersect_uassoc

追加された添字の確認も含め、コールバック関数を用いて 配列の共通項を確認する

説明

array array_intersect_uassoc(array $array, array ...$arrays, callable $key_compare_func)

array_intersect_uassoc は、全ての引数に現れる array の全ての値を含む配列を返します。 array_intersect と異なり、 キーが比較に使用されることに注意してください。

パラメータ

array

比較元となる最初の配列。

arrays

キーを比較する対象となる配列。

key_compare_func

比較関数は、最初の引数と二番目の引数の比較結果を返します。最初の引数のほうが二番目の引数より大きい場合は正の整数を、二番目の引数と等しい場合はゼロを、そして二番目の引数より小さい場合は負の整数を返す必要があります。

int callback(mixed $a, mixed $b)
警告

float のような 非整数 を比較関数が返すと、その返り値を内部的に int にキャストして使います。 つまり、0.990.1 といった値は整数値 0 にキャストされ、 値が等しいとみなされます。

戻り値

array の値のうち、 すべての引数に存在するもののみを返します。

例1 array_intersect_uassoc の例

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

上の例の出力は以下となります。

Array
(
    [b] => brown
)

参考

  • array_intersect
  • array_intersect_assoc
  • array_uintersect_assoc
  • array_uintersect_uassoc
  • array_intersect_key
  • array_intersect_ukey