- PHP
- 2013-05-23 - 更新:2013-05-30
この記事は最終更新日から1年以上経過しています。
複数の配列から共通するキーや値を検索する関数をご紹介。
配列の共通項を計算する – array_intersect
書式
array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
配列の共通する値のキーと値が配列で返されます。
キーと値の関係は、もとの配列の組み合わせが維持されます。
パラメータ
array1 //値を調べるもとの配列 array2 //値を比較する対象とする配列 array //さらに比較するそれ以外の配列
返り値
array1 の値のうち、 すべての引数に存在する値のものを含む連想配列を返します。
例)
<?php $array1 = array("a" => "green", "red", "blue"); $array2 = array("b" => "green", "yellow", "red"); $result = array_intersect($array1, $array2); print_r($result); ?>
出力結果
Array ( [a] => green [0] => red )
キーを基準にして配列の共通項を計算する – array_intersect_key
書式
array array_intersect_key ( array $array1 , array $array2 [, array $ ... ] )
配列の共通するキーと、もとの配列よりその値が配列で返されます。
パラメータ
array1 //値を調べるもとの配列 array2 //値を比較する対象とする配列 array //さらに比較するそれ以外の配列
返り値
array1 のエントリのうち、 すべての引数に存在するキーのものを含む連想配列を返します。
例)
<?php $array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); $array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); $result = array_intersect_key($array1, $array2); print_r($result); ?>
出力結果
Array ( [blue] => 1 [green] => 3 )
追加された添字の確認も含めて配列の共通項を確認する – array_intersect_assoc
書式
array array_intersect_assoc ( array $array1 , array $array2 [, array $ ... ] )
配列のキー、及び値が共通するものを配列で返します。
パラメータ
array1 //値を調べるもとの配列 array2 //値を比較する対象とする配列 array //さらに比較するそれ以外の配列
返り値
array1 の値のうち、すべての引数に存在するものを含む連想配列を返します。
例)
<?php $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "green", "b" => "yellow", "blue", "red"); $result_array = array_intersect_assoc($array1, $array2); print_r($result_array); ?>
出力結果
Array ( [a] => green )
配列から要素を削除する場合はこちら
配列の差分を求める – array_diff [PHP]
その他、詳しくは公式マニュアルをご覧ください。
PHP: 配列 関数 – Manual
2,164 views