array_diff_uassoc()-ユーザが提供するコールバック関数をインデックスチェックして配列の差セットを計算する


一、ユーザーが提供したコールバック関数をインデックスとして計算配列の差セットを検査する
 
array_diff_uassoc()
パラメータ
なければならない

比較対象の配列
はい
$arr1 = array("a"=> "green", "b"=> "brown", "c"=> "blue", "red");
この配列と比較する
はい
$arr2 = array("a"=> "green", "yellow", "red");
より多くの比較配列...
いいえ
 
 
 
 
戻り値
エラー/例外
注意事項
パラメータ1配列のすべての値を含む配列を返しますが、他のパラメータ配列の値は含まれません.
なしarray1array2を比較し、異なる点を返します.注意とarray_diff()とは異なり,キー名も比較に用いられる.とarray_diff_assoc()は、内蔵された関数ではなく、ユーザがカスタマイズしたコールバック関数を使用するのとは異なります.この関数では、多次元配列の1次元のみがチェックされます.もちろんarray_diff_uassoc($array1[0], $array2[0], "key_compare_func"); より深い次元をチェックします. 
例1:
 $b)? 1:-1;
}

$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
 
戻り値:Array([b]=>brown[c]=>blue[0]=>red)上の例では、a=>greenは2つの配列に現れるため、関数の出力には表示されません.ただし、0=>「red」は出力中であり、2番目のパラメータの「red」のキー名が1であるためである.
例2
'white','b'=>'red','c'=>array('a'=>'green','b'=>'blue','c'=>'yellow'));
$color_2=array('a'=>'white','b'=>'red','c'=>array('a'=>'white','b'=>'red','c'=>'yellow'));

function key_compare($a,$b){
    if($a===$b)        return 0;
    return($a>$b)?1:-1;
}
print_r(array_diff_uassoc($color_1['c'], $color_2['c'],"key_compare"));
 
戻り値:Array([a]=>green[b]=>blue)