PHP array_uintersect_uassoc() 関数

2つの配列のキー名とキー値を比較し(ユーザー定義関数を使用して比較を行います)、交差点(一致)を返します:

<?php
function myfunction_key($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
function myfunction_value($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","c"=>"green");
$result=array_uintersect_uassoc($a1,$a2,"myfunction_key","myfunction_value");
print_r($result);
?>

実行例

定義と使用法

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

注記:この関数は、2つのユーザー定義関数を使用して比較を行います;1つ目の関数はキー名を比較し、2つ目の関数はキー値を比較します!

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

注意、与 array_uintersect() キー名も比較されるためです。キー値とキー名(インデックス)はすべてコールバック関数で比較されます。

構文

array_uintersect_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
パラメータ 説明
array1 必需。他の配列と比較する最初の配列。
array2 必需。最初の配列と比較する配列。
array3,... オプション。他の配列と比較する最初の配列。
myfunction_key

必需。配列キー名を比較するユーザー定義関数の名前。

呼び出し可能な比較関数を定義します。最初のパラメータが第二のパラメータより小さい場合、または大きい場合、比較関数は負の数または正の数を返さなければなりません。

myfunction_value

必需。配列キー値を比較するユーザー定義関数の名前。

呼び出し可能な比較関数を定義します。最初のパラメータが第二のパラメータより小さい場合、または大きい場合、比較関数は負の数または正の数を返さなければなりません。

ユーザー定義のコールバック関数を使用して myfunction_keymyfunction_value 二つまたは複数の配列の交差点(即ち、 array1 指定された配列の中に存在し、他のどの配列にも存在するすべての配列要素(中に存在、他のどの配列にも存在するすべての配列要素)を含む配列を返します。

キー名とキー値(インデックス)の比較も行います。例えば、「a」=>1 と「b」=>1 という二つの要素は等しくありません。

myfunction_key 指定された関数は、キー名が等しいかどうかを比較するために使用されます。myfunction_value 指定された関数は、キー値が等しいかどうかを比較するために使用されます。これらの関数は、比較するために2つのパラメータを持っています。最初のパラメータが第二のパラメータより小さい場合、関数は負の数を返します。二つのパラメータが等しい場合、0を返します。最初のパラメータが第二のパラメータより大きい場合、正の数を返します。

返される配列のキー名は変更されません。

技術的詳細

返り値: すべての、指定された配列の中に存在し、他のどの配列にも存在する配列要素を含む配列を返します。 array1 中に加えて、すべての他の配列の単位も存在しています。
PHP バージョン: 5+