例
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("a"=>"blue","b"=>"black","e"=>"blue"); $result=array_diff_ukey($a1,$a2,"myfunction"); print_r($result); ?>
定義と使用法
array_diff_ukey() 関数は 2 つ (またはそれ以上) を比較するために使用されます。 ) 配列のキー名を返し、差分セットを返します。
注: この関数はユーザー定義関数を使用してキー名を比較します。
この関数は、2 つ (またはそれ以上) の配列のキー名を比較し、比較された配列 (array1) 内のすべての項目を含むが、他のパラメーター配列 (array2 や array3 など) には含まれない差分配列を返します。
構文
array_diff_ukey(array1,array2,array3...,myfunction);
パラメータ | 説明 |
array1 | 必須。他の配列と比較する最初の配列。 |
array2 | 必須。最初の配列と比較する配列。 |
array3,... | オプション。最初の配列と比較するには、追加の配列 |
myfunction | が必要です。呼び出し可能な比較関数を定義する string。最初の引数が <、=、> で、2 番目の引数が の場合、対応する比較関数は整数 <、=、> を返す必要があります。 |
技術的な詳細
戻り値: | 比較された配列 (array1) 内のすべての要素を含むが、他のパラメータ配列 (array2 や array3 など) には含まれない差分配列を返します。キーの名前。 |
PHPバージョン: | 5.1+ |
更多实例
实例 1
比较三个数组的键名(使用用户自定义函数比较键名),并返回差集:
<?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"=>"black","b"=>"yellow","d"=>"brown"); $a3=array("e"=>"purple","f"=>"white","a"=>"gold"); $result=array_diff_ukey($a1,$a2,$a3,"myfunction"); print_r($result); ?>
1.函数的作用:使用调用者自定义的函数,根据键值,返回数组的差集;
2.函数的参数:
@params array $array1 被比较的数组
@params array $array2 比较的数组
@params array $array3 比较的数组
...
3.注意点:
1)自定义的函数根据第一个参数小于、等于、大于分别返回小于0、等于0、大于0;
4.例子:
<?php $array1 = ['A' => 1,'B' => 2,'c' => 3,0 => 4]; $array2 = ['A' => 1,'b' => 2,'C' => 3,'0' => 4]; print_r(array_diff_ukey($array1,$array2,function($a,$b){ if($a === $b) { return 0; } return $a < $b ? -1 : 1; }));
以上がキー名を PHP のユーザー定義関数と比較する関数 array_diff_ukey()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。