array_diff_uassoc
ユーザーが提供するコールバック関数を使用してインデックスチェックを実行して、配列の違いセットを計算します
PHP 5.3.0以上
この関数は、アレイの差セットを計算するために使用され、最初のアレイに存在するが、他の配列には存在する要素を返します。 array_diff()に似ていますが、ユーザー定義のコールバック関数を介して配列のキー名を比較します。
<span class="fun">array_diff_uassoc(array $ array1、array $ array2、array ... $ array、callable $ key_compare_func):array</span>
最初の配列に表示されるが、他の配列には表示されない要素を含む配列を返します。配列のキーはそのまま残ります。
$array1 = ["a" => 1, "b" => 2, "c" => 3]; $array2 = ["a" => 1, "b" => 2];
$ result = array_diff_uassoc($ array1、$ array2、function($ key1、$ key2){<br>
return strcmp($ key1、$ key2);<br>
});</p>
<p>print_r($ result);<br>
この例では、$ array1と$ array2はどちらも連想配列です。コールバック関数を介してキーを比較します。コールバック関数は、 STRCMPを使用してキー名を比較し、結果を返します。最初のキーが2番目のキーよりも小さい場合、 STRCMPは負の値を返します。等しい場合は、0を返します。最初のキーが2番目のキーよりも大きい場合は、正の値を返します。最後に、 array_diff_uassocは、最初の配列にのみ存在する要素を含む配列を返し、これらの要素のキーは2番目の配列にはありません。