配列 共通する値を持つ要素を取得 - array_intersect()、array_intersect_assoc()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、指定した配列と他の配列の値を比較し、共通する値を持つ要素を取得する関数 array_intersect()、値に加えて、キーも確認する array_intersect_assoc()を紹介します。
array_intersect関数
array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
指定した複数の配列の値を比較し、共通する値を持つ要素を取得します。
後述のarray_intersect_assoc関数は、キーも確認します。
引数 $array1 比較元の配列を指定します。 $array2[, ...] 比較する配列を指定します。
返り値
$array1と$array2[, ...]に共通する値を持つ要素を配列で返します。
返される配列キーは保存されます。
サンプルコード
指定した複数の配列(ここでは、配列1と配列2の2つ)の値を比較し、共通する値を持つ要素を取得するサンプルコードです。
array_intersect( 配列1, 配列2 )
<?php /* 配列を定義 */ $a = array('Debian', 'Ubuntu', 'CentOS', 'Fedora'); $b = array('Debian', 'Ubuntu', 'CentOS', 'RedHat'); /* 配列を比較 */ print_r( array_intersect($a, $b) ); ?>
実行結果です。
配列1($a)と配列2($b)に共通する値を持つ配列要素(ここでは、Debian,Ubuntu,CentOS)が配列で返されます。
Array ( [0] => Debian [1] => Ubuntu [2] => CentOS )
array_intersect_assoc関数
array array_intersect_assoc ( array $array1 , array $array2 [, array $ ... ] )
指定した複数の配列の値・キーを比較し、共通する値・キーを持つ要素を取得します。
引数 $array1 比較元の配列を指定します。 $array2[, ...] 比較する配列を指定します。
返り値
$array1と$array2[, ...]に共通する値・キーを持つ要素を配列で返します。
返される配列キーは保存されます。
サンプルコード
指定した複数の配列(ここでは、配列1と配列2の2つ)の値を比較し、共通する値・キーを持つ要素を取得するサンプルコードです。
array_intersect_assoc( 配列1, 配列2 )
<?php /* 配列を定義 */ $a = array('Debian', 'a'=>'Ubuntu', 'b'=>'CentOS', 'Fedora'); $b = array('Debian', 'a'=>'Ubuntu', 'c'=>'CentOS', 'RedHat'); /* 配列を比較 */ print_r( array_intersect_assoc($a, $b) ); ?>
実行結果です。
配列1($a)と配列2($b)に共通する値・キーを持つ配列要素(ここでは、Debian,Ubuntu)が配列で返されます。
Array ( [0] => Debian [a] => Ubuntu )