PHP マニュアル
前のページ |  | 次のページ

# array_diff_key

(PHP 5 >= 5.1.0RC1)

array_diff_key -- キーを基準にして配列の差を計算する

## 説明

array array_diff_key ( array array1, array array2 [, array ...] )

array_diff_key() は、`array1` から他の引数の配列の中に現れない全ての値を含む配列を返します。 キーと値の関係は維持されることに注意してください。この関数は array_diff() に似ていますが、 値ではなくキーを用いて比較するという点が異なります。

例 1. array_diff_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_diff_key($array1, $array2)); ?>`

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

    array(2) {
      ["red"]=>
      int(2)
      ["purple"]=>
      int(4)
    }

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

> 注意: この関数は n 次元配列の一つの次元しかチェックしないことに注意してください。 もちろん、`array_diff_key($array1[0], $array2[0]);` のようにすることでより深い次元でのチェックもできます。

array_diff()、 array_udiff()、 array_diff_assoc()、 array_diff_uassoc()、 array_udiff_assoc()、 array_udiff_uassoc()、 array_diff_ukey()、 array_intersect()、 array_intersect_assoc()、 array_intersect_uassoc()、 array_intersect_key() および array_intersect_ukey() も参照ください。

前のページ | ホーム | 次のページ
array_diff_assoc | 上に戻る | array_diff_uassoc