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