array_intersect()
- 配列の共通部分を見つけるために使用される
- 複数の配列を渡すことで、それらの配列全てに共通する要素を抽出できる
- 結果の配列のキーは、最初の配列のキーを保持する
使用例
// 配列を定義
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "0" => "red");
$array2 = array("a" => "green", "0" => "yellow", "1" => "red");
// 共通する値を持つ要素を取得
$result = array_intersect($array1, $array2);
// 結果を出力
print_r($result);
出力
Array
(
[a] => green
[0] => red
)
array_intersect_key()
- 2つ以上の配列のキーに基づいて交差(共通するキーの要素)を返す
- 最初の配列のキーを基準にして、他のすべての配列で同じキーを持つ要素を返す
使用例
$array1 = [
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
];
$array2 = [
'a' => 10,
'c' => 30,
'e' => 50
];
$result = array_intersect_key($array1, $array2);
print_r($result);
出力
Array
(
[a] => 1
[c] => 3
)
感想
見つけたい共有部分がkeyなのかvalueなのかで使い分けができるのは良いと思ったが、まだ経験の浅い自分には使う場面があまりなさそう。
(今回使ってみたが、コードレビューにて少し冗長になるがみやすいコードに変更した。)
また、自分のチームではあまり使われていなかった。