今日紹介したいのは、PHP で非常によく使われる配列関数、array_intersect_ukey() です。この関数は主に、2 つ以上の配列内のキー名を比較し、すべての入力配列に存在するすべてのキー名を含む新しい配列を返すために使用されます。 array_intersect_ukey() 関数には主に次の特徴があります。
この関数の具体的な使い方を見てみましょう。
関数の使用方法
構文: array_intersect_ukey (array $array1, array $array2 [, array $...], callable $key_compare_func): array
Parameter説明:
array1, array2, ...: 比較する配列は 2 つ以上の配列にすることができます。
key_compare_func: キー名の比較に使用されるユーザー定義のコールバック関数。
戻り値: すべての入力配列に存在するすべてのキー名を含む配列を返します。
注:
以下の例を見てください:
例 1:
$array1 = array('a' => 'php', 'b' => 'java', 'c' => 'python'); $array2 = array('a' => 'php', 'd' => 'ruby', 'e' => 'javascript'); function myfunction($key1, $key2) { if ($key1 === $key2) { return 0; } else if ($key1 > $key2) { return 1; } else { return -1; } } print_r(array_intersect_ukey($array1, $array2, 'myfunction'));
出力結果:
Array ( [a] => php )
説明: この例では、最初に定義します。 2 つの配列 $array1 と $array2 を作成し、配列のキー名を比較するコールバック関数 myfunction を定義します。この関数の機能は、$key1 と $key2 が等しい場合は 0 を返し、$key1 が $key2 より大きい場合は 1 を返し、$key1 が $key2 より小さい場合は -1 を返します。最後に、array_intersect_ukey() 関数を呼び出し、比較する 2 つの配列とコールバック関数の名前 myfunction を渡します。関数の出力結果は、両方の入力配列に存在するキー 'a' のみをキー名に含む新しい配列であり、キー値は 'php' です。
例 2:
$array1 = array('a' => 'php', 'B' => 'java', 'c' => 'python'); $array2 = array('a' => 'php', 'b' => 'ruby', 'e' => 'javascript'); print_r(array_intersect_ukey($array1, $array2));
出力結果:
Array ( [a] => php )
説明: この例では、まず 2 つの配列 $array1 と $array2 を定義します。配列 $array1 に注目してください。中央のキー名「B」は大文字です。次に、array_intersect_ukey() 関数を呼び出します。この関数はデフォルトで大文字と小文字が区別されるため、両方の入力配列に存在するキー 'a' のみが返され、キー値は 'php' になります。
結論
array_intersect_ukey() 関数は、PHP で非常に一般的に使用される配列関数です。主に、2 つ以上の配列のキー名を比較し、新しい配列を返すために使用されます。キー名が含まれていますすべての入力配列に存在します。同時に、この関数を使用すると、ユーザーはキー名の比較ロジックを処理するコールバック関数をカスタマイズできます。実際の開発では、配列の比較や重複の削除などでよく使われる機能で、非常に便利で実用的です。
以上がPHP の array_intersect_ukey() 関数の使用方法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。