【PHP8.x】array_udiff_uassoc関数の使い方
array_udiff_uassoc関数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
array_udiff_uassoc関数は、複数の配列を比較し、最初の配列にのみ存在する要素を、ユーザー定義の比較関数を用いて検出する関数です。この関数は、配列の要素の値とキーの両方を、開発者が定義したルールに基づいて比較できる点が特徴です。
具体的には、まず最初に比較対象となる配列を指定し、その後に比較したい追加の配列を複数指定します。さらに、要素の値同士を比較するためのコールバック関数と、要素のキー同士を比較するためのコールバック関数をそれぞれ引数として渡します。これらのコールバック関数は、2つの引数を受け取り、比較結果に応じて負の数、0、正の数のいずれかを返します。0が返された場合、その値またはキーは等しいと判断されます。
array_udiff_uassoc関数は、渡された値比較用コールバック関数とキー比較用コールバック関数が共に「等しい(0を返す)」と判断しない限り、その要素を最初の配列に固有の「差分」であると認識します。その結果、最初の配列に存在し、他のどの配列にも存在しない(ユーザー定義の比較基準で異なる)要素のみを抽出した新しい配列を返します。複雑なオブジェクトやカスタムデータ型の比較において、柔軟な差分検出を行う際に非常に役立ちます。
構文(syntax)
1<?php 2array_udiff_uassoc( 3 array $array1, 4 array $array2, 5 array ...$arrays, 6 callable $value_compare_func, 7 callable $key_compare_func 8): array
引数(parameters)
array $array1, array $array2, array ...$arrays, callable $value_compare_func, callable $key_compare_func
- array $array1: 比較対象となる最初の配列
- array $array2: 比較対象となる2番目の配列
- array ...$arrays: 比較対象となる追加の配列(複数指定可能)
- callable $value_compare_func: 値を比較するためのユーザー定義関数
- callable $key_compare_func: キーを比較するためのユーザー定義関数
戻り値(return)
array
与えられた配列を、指定されたユーザー定義比較関数を用いて比較し、差異のある要素のみを含む新しい連想配列を返します。