配列 関数
PHP Manual

array_intersect_key

(PHP 5 >= 5.1.0)

array_intersect_keyキーを基準にして配列の共通項を計算する

説明

array array_intersect_key ( array $array1 , array $array2 [, array $... ] )

array_intersect_key() は、 array1 のエントリのうち、 その他のすべての引数の中に共通して存在するキーと一致するキーの値からなる配列を返します。

パラメータ

array1

値を調べるもととなる配列。

array2

値を比較する対象となる配列。

...

さらにそれ以外の配列。

返り値

array1 のエントリのうち、 すべての引数に存在するキーのものを含む連想配列を返します。

例1 array_intersect_key() の例

<?php
$array1 
= array('blue'  => 1'red'  => 2'green'  => 3'purple' => 4);
$array2 = array('green' => 5'blue' => 6'yellow' => 7'cyan'   => 8);

var_dump(array_intersect_key($array1$array2));
?>

上の例の出力は以下となります。

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

この例では、両方の配列に存在するキーが 'blue''green' だけであり、それが返されていることが わかります。また、ふたつの配列の間で 'blue''green' に対応する値が違うことにも注意しましょう。 それでも一致していると判定されるのは、ただキーだけがチェックされているからです。 返される値は array1 のものです。

二つの要素は、 (string) $elem1 === (string) $elem2 の場合のみ等しいとみなされます。言い換えると、 文字列表現が同じ場合となります。

参考


配列 関数
PHP Manual