PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのarray_diff_key()関数とは?使い方とサンプルコードを解説

PHPのarray_diff_key()関数は、複数の配列の「キー」同士を比較し、その差分を返す関数です。具体的には、最初の配列に存在する要素のうち、他の配列には同じキーが存在しない要素だけを集めた配列を返します。値ではなくキーを基準に比較される点が特徴で、array_diff()関数との大きな違いとなっています。

構文

array_diff_key(arr1, arr2, arr3, arr4, ...)

パラメータ

  • arr1 − 比較元となる配列。必須。

  • arr2 − 比較対象となる配列。必須。

  • arr3 − さらに比較したい配列を追加できます。省略可能。

  • arr4 − さらに比較したい配列を追加できます。省略可能。

戻り値

array_diff_key()関数は、最初の配列(arr1)に含まれる要素のうち、他のどの配列にも同じキーが存在しない要素のみを含む配列を返します。すべてのキーが他の配列にも存在する場合は、空の配列が返されます。

使用例

次の例では、2つの連想配列のキーを比較しています。「bus」というキーは両方の配列に存在するため除外され、「car」と「truck」だけが結果として残ります。

<?php
   $arr1 = array('car' => 10, 'bus' => 15, 'truck' => 22);
   $arr2 = array('motorbike' => 35, 'bus' => 42);
   $res = array_diff_key($arr1,$arr2);
   print_r($res);
?>

出力結果

Array
(
   [car] => 10
   [truck] => 22
)

ポイントまとめ

  • 比較の基準は「キー」であり、値は一切参照されません。

  • キーの比較では、文字列キーと整数キーが等しいとみなされる場合がある点に注意が必要です(例:"5" と 5)。

  • 3つ以上の配列も一度に比較できるため、複数のデータセットから共通しないキーを抽出したい場合に便利です。

  1. PHPのarray_diff_key()関数とは?使い方とサンプルコードを解説

    PHPのarray_diff_key()関数は、複数の配列の「キー」同士を比較し、その差分を返す関数です。具体的には、最初の配列に存在する要素のうち、他の配列には同じキーが存在しない要素だけを集めた配列を返します。値ではなくキーを基準に比較される点が特徴で、array_diff()関数との大きな違いとなっています。 構文 array_diff_key(arr1, arr2, arr3, arr4, ...) パラメータ arr1 − 比較元となる配列。必須。 arr2 − 比較対象となる配列。必須。 arr3 − さらに比較したい配列を追加できます。省略可能。 arr4 − さらに比較し

  2. PHPのarray()関数とは?配列の作成方法をわかりやすく解説

    PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に