現在の位置: ホーム> 最新記事一覧> array_diff_key()の基本的な構文とパラメーター説明

array_diff_key()の基本的な構文とパラメーター説明

M66 2025-06-06

PHPでは、 array_diff_key()は、2つの配列の差セットを計算するために使用される関数です。最初の配列には存在するが、2番目の配列には存在するすべてのキー価値ペアを含む配列を返します。この関数は、値ではなく配列のキーに基づいて比較されます。

基本的な構文

array_diff_key(array $array1, array $array2, array ...$arrays): array

パラメーター説明:

  1. $ array1
    これは、比較される最初の配列です。

  2. $ array2
    これは、$ array1と比較される2番目の配列です。この配列のキーは$ array1から削除されます。

  3. $ arrays (オプション)
    比較のためにより多くの配列を渡すことができ、 array_diff_key()はこれらの配列から$ array1からキーを削除します。

返品値:

この関数は、 $ array1に存在するが、 $ array2またはその他の渡された配列には存在しないすべてのキー価値ペアを含む新しい配列を返します。

サンプルコード

Array_diff_key()関数を使用した例を次に示します。

 <?php
$array1 = [
    "apple" => 1,
    "banana" => 2,
    "cherry" => 3
];

$array2 = [
    "banana" => 2,
    "cherry" => 3
];

$result = array_diff_key($array1, $array2);
print_r($result);
?>

出力:

 Array
(
    [apple] => 1
)

この例では、 array_diff_key()$ array1$ array2を比較し、キー「Apple」を含む新しい配列を返します。このキーは$ array1でのみ$ array2で存在するためです。

複数の配列を使用します

また、複数の配列をarray_diff_key()に渡すこともできます。これは、 $ array1および他のすべての配列のキーを比較して、 $ array1に存在するが他の配列ではないキー値を含むキー値ペアを返します。

 <?php
$array1 = [
    "apple" => 1,
    "banana" => 2,
    "cherry" => 3,
    "date" => 4
];

$array2 = [
    "banana" => 2,
    "cherry" => 3
];

$array3 = [
    "apple" => 1,
    "date" => 4
];

$result = array_diff_key($array1, $array2, $array3);
print_r($result);
?>

出力:

 Array
(
    [banana] => 2
)

この例では、 array_diff_key()$ array1$ array2$ array3を比較し、$ array1でのみ表示されるため、キー「バナナ」を含むアレイを返しますが、 $ array2$ array3です。

注意すべきこと

  • array_diff_key()は、値ではなく、キーベースの比較です。したがって、配列内の値を考慮しておらず、キーで動作するだけです。

  • 複数の配列を渡すと、関数はそれらの配列のキーを比較し、 $ array1の一意のキーを含む配列を返します。

  • すべての配列にキーが存在する場合、結果にはこのキーが含まれません。

関連リンク

array_diff_key()関数に関するより詳細なドキュメントを表示したい場合は、次のリンクを参照してください。

PHP公式文書:array_diff_key()