PHPのarray_uintersect_uassoc()関数の使い方を徹底解説
PHPのarray_uintersect_uassoc()関数は、ユーザーが定義したコールバック関数を使用して、配列の「キー」と「値」の両方を比較し、複数の配列に共通して存在する要素を含む配列を返す関数です。
通常の配列比較関数とは異なり、キーの比較用と値の比較用に、それぞれ独立したコールバック関数を指定できる点が大きな特徴です。
構文
array_uintersect_uassoc(arr1, arr2, arr3, …, compare_func1, compare_func2)
パラメータ
arr1 − 比較の基準となる最初の配列。
arr2 − 比較対象となる2番目の配列。
arr3 − さらに比較したい場合は、追加の配列を指定できます。
compare_func1 − 配列のキーを比較するためのコールバック関数。最初の引数が2番目の引数より小さい・等しい・大きいと判断される場合に、それぞれゼロより小さい整数・ゼロ・ゼロより大きい整数を返す必要があります。
compare_func2 − 配列の値を比較するためのコールバック関数。compare_func1と同様に、比較結果に応じた整数値を返します。
戻り値
array_uintersect_uassoc()関数は、最初の配列の要素のうち、キーと値の両方が他のすべての配列にも存在する要素のみを含む配列を返します。
使用例
以下は実際の使用例です。
<?php
function compare_func_key($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b)? 1:-1;
}
function compare_func_val($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b)? 1:-1;
}
$arr1 = array("a" => "laptop", "b" => "keyboard", "c" => "mouse");
$arr2 = array("a" => "laptop", "b" => "keyboard", "c" => "headphone");
$res = array_uintersect_uassoc($arr1, $arr2, "compare_func_key", "compare_func_val");
print_r($res);
?>実行結果
上記コードの出力は以下の通りです。
Array ( [a] => laptop [b] => keyboard )
-
PHPのarray_uintersect_uassoc()関数の使い方を徹底解説
PHPのarray_uintersect_uassoc()関数は、ユーザーが定義したコールバック関数を使用して、配列の「キー」と「値」の両方を比較し、複数の配列に共通して存在する要素を含む配列を返す関数です。通常の配列比較関数とは異なり、キーの比較用と値の比較用に、それぞれ独立したコールバック関数を指定できる点が大きな特徴です。構文array_uintersect_uassoc(arr1, arr2, arr3, …, compare_func1, compare_func2)パラメータarr1 − 比較の基準となる最初の配列。arr2 − 比較対象となる
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に