PHP array_udiff() 関数

キー値を比較する二つの配列(ユーザー定義関数を使用してキー値を比較する)を差集合数として返します:

<?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_udiff($a1,$a2,"myfunction");
print_r($result);
?>

実行例

定義と使用法

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

注釈:ユーザー定義関数を使用してキー値を比較します!

この関数は2つ(またはそれ以上)の配列のキー値を比較し、比較された配列内に存在する全ての値を含む差集合数を返します。array1)の中で、他のすべてのパラメータ配列(array2 または array3 など)のキー値の中で。

説明

array_udiff() 関数は、比較された配列内に存在するが他の引数の配列内に存在しない全ての値を含む配列を返します。キー名は変更されません。

array_udiff() 関数と array_diff() 関数の動作が異なり、後者は内部関数を使用して比較を行います。

データの比較は array_udiff() 関数の myfunction 実行されます。myfunction この関数は比較を行うために2つの引数を持っており、最初の引数が二番目の引数より小さい場合、関数は負の数を返します。二つの引数が同じ場合、0を返します。最初の引数が二番目の引数より大きい場合、関数は正の数を返します。

文法

array_udiff(array1...array2...array3...myfunction)
引数 説明
array1 必須。他の配列と比較する最初の配列。
array2 必須。最初の配列と比較する配列。
array3,... オプション。最初の配列と比較する他の配列。
myfunction

必須。呼び出せる関数を定義する文字列値。

最初の引数が二番目の引数以下または以上である場合、比較関数は負のまたは正の整数を返さなければなりません。

技術的詳細

返り値: 比較されたすべての配列(array1)の中で、他のすべてのパラメータ配列(array2 または array3 など)のキー値の中で。
PHP バージョン: 5.1.0+

さらに多くの例

例 1

三つの配列のキー値(ユーザー定義関数を使用してキー値を比較)を比較し、差集合を返します:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue","yellow");
$a2=array("A"=>"red","b"=>"GREEN","yellow","black");
$a3=array("a"=>"green","b"=>"red","yellow","black");
$result=array_udiff($a1,$a2,$a3,"myfunction");
print_r($result);
?>

実行例