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_key と myfunction_value 二つまたは複数の配列の交差点(即ち、 array1 指定された配列の中に存在し、他のどの配列にも存在するすべての配列要素(中に存在、他のどの配列にも存在するすべての配列要素)を含む配列を返します。
キー名とキー値(インデックス)の比較も行います。例えば、「a」=>1 と「b」=>1 という二つの要素は等しくありません。
myfunction_key 指定された関数は、キー名が等しいかどうかを比較するために使用されます。myfunction_value 指定された関数は、キー値が等しいかどうかを比較するために使用されます。これらの関数は、比較するために2つのパラメータを持っています。最初のパラメータが第二のパラメータより小さい場合、関数は負の数を返します。二つのパラメータが等しい場合、0を返します。最初のパラメータが第二のパラメータより大きい場合、正の数を返します。
返される配列のキー名は変更されません。
技術的詳細
返り値: | すべての、指定された配列の中に存在し、他のどの配列にも存在する配列要素を含む配列を返します。 array1 中に加えて、すべての他の配列の単位も存在しています。 |
PHP バージョン: | 5+ |