コース推薦:

PHP array_udiff_uassoc()関数

配列のキー名と値を比較し(ユーザー定義関数を使用して比較を行います)、差集合を返します:
<?php
if ($a===$b)
function myfunction_value($a,$b)
  if ($a===$b)
  {
  return ($a>$b)?1:-1;
  return 0;
return ($a>$b)?1:-1;
function myfunction_key($a,$b)
if ($a===$b)
function myfunction_value($a,$b)
  if ($a===$b)
  {
  return ($a>$b)?1:-1;
  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_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value")
;
print_r($result);

?>

実行例

定義と使用方法

array_udiff_uassoc()関数は2つの(またはそれ以上の)配列のキー名と値を比較し、差集合を返します。コメント:

この関数は2つのユーザー定義関数を使用して比較を行います;1つ目の関数はキー名を比較し、2つ目の関数は値を比較します!array1)に含まれるが、他のすべてのパラメータ配列(array2 または array3 (など)のキー名とキー値。

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

説明 array1 array_udiff_uassoc()関数は

注意して、配列に存在するが他の配列には存在しない部分です。返される配列ではキー名が変更されません。 array_diff() および array_udiff() 異なる点はキー名も比較に使用されることです。キー名と値の比較も行います。例えば「a」=>1と「b」=>1の2つの要素は不相等です。

キー名(インデックス)のチェックもコールバック関数によって行われます。 myfunction_key 実行されています。これは、 array_udiff_assoc() の動作が異なり、後者はインデックスを比較する内部関数を使用します。

配列データの比較はユーザーが提供するコールバック関数 myfunction_value 実行されます。この点で、 array_diff_assoc() の動作は正反対で、後者は内部関数を使用して比較します。

これらの関数は比較するための二つのパラメータを持っています。最初のパラメータが二番目のパラメータ以下の場合、関数は負の数を返します。二つのパラメータが等しい場合、0 を返します。最初のパラメータが二番目のパラメータ以上の場合、正の数を返します。

文法

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

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

文字列値、呼び出せる比較関数を定義します。最初の引数が二番目の引数以下である場合、または二番目の引数以下である場合、比較関数は 0 以上の整数を返さなければなりません。

myfunction_value

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

文字列値、呼び出せる比較関数を定義します。最初の引数が二番目の引数以下である場合、または二番目の引数以下である場合、比較関数は 0 以上の整数を返さなければなりません。

技術的詳細

返り値: 差集合数を返します。この配列は、比較されたすべての配列(array1)に含まれるが、他のすべてのパラメータ配列(array2 または array3 (など)のキー名とキー値。
PHP バージョン: 5+