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