コース推薦:
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+ |