PHP array_intersect_uassoc()関数

キー名とキー値を比較する2つの配列(ユーザー定義関数を使用してキー名を比較する)を比較し、交集合を返します:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");
$result=array_intersect_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

実行例

定義と用法

array_intersect_uassoc()関数は、2つ(またはそれ以上)の配列のキー名とキー値を比較し、交集合を返します。

注釈:この関数はユーザー定義関数を使用してキー名を比較します!

この関数は2つ(またはそれ以上)の配列のキー名とキー値を比較し、交集合を返します。交集合は比較された配列(array1)に加えて、他のすべてのパラメータ配列(array2 または array3 など)のキー名およびキー値。

説明

array_intersect_uassoc()関数はユーザー定義のコールバック関数を使用して配列の交集合を計算し、インデックスを比較します。

array_intersect_uassoc()は、すべての被比較の配列に存在するものを含む配列を返します。 array1 すべての他の引数の配列に同時に存在する値も含まれます。返される配列のキー名は変更されません。

注意:array_intersect()とは異なり、キー値だけでなくキー名も比較します。

この比較はユーザーが提供するコールバック関数によって行われます。この関数には、比較するキー名が2つあります。最初の引数が2番目の引数より小さい場合、関数は負の数を返します。もし2つの引数が等しい場合、0を返します。最初の引数が2番目の引数より大きい場合、正の数を返します。

文法

array_intersect_uassoc(array1,array2,array3...myfunction)
パラメータ 説明
array1 必須。他の配列と比較する第1配列。
array2 必須。第1配列と比較する配列。
array3,... オプション。第1配列と比較する他の配列。
myfunction 必須。呼び出せる比較関数を定義する文字列。

技術的詳細

返り値: 交差点配列を返します。この配列は、比較されたすべての配列(array1)に加えて、他のすべてのパラメータ配列(array2 または array3 など)のキー名およびキー値。
PHP バージョン: 5+

さらに例

例 1

3つの配列のキー名およびキー値(ユーザー定義関数を使用してキー名を比較)を比較し、交差点を返します:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");
$result=array_intersect_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

実行例