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

# array_intersect_ukey

(PHP 5 >= 5.1.0RC1)

array_intersect_ukey -- キーを基準にし、コールバック関数を用いて 配列の共通項を計算する

## 説明

array array_intersect_ukey ( array array1, array array2 [, array ..., callback key_compare_func] )

array_intersect_ukey() は、他の全ての引数に存在する array1の値を全て有する配列を返します。

比較は、ユーザが指定したコールバック関数を利用して行われます。 この関数は、1 つめの引数が 2 つめより小さい / 等しい / 大きい 場合にそれぞれ 負の数 / ゼロ / 正の数 を返す必要があります。

例 1. array_intersect_ukey() の例
`<?php function key_compare_func($key1, $key2) { if ($key1 == $key2) return 0; else if ($key1 > $key2) return 1; else return -1; } $array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); $array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func')); ?>`
上の例の出力は以下となります。
    array(2) {
      ["blue"]=>
      int(1)
      ["green"]=>
      int(3)
    })

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

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

前のページ | ホーム | 次のページ
array_intersect_uassoc | 上に戻る | array_intersect