0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

配列同士の共通部分を見つける

Posted at

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なのかで使い分けができるのは良いと思ったが、まだ経験の浅い自分には使う場面があまりなさそう。
(今回使ってみたが、コードレビューにて少し冗長になるがみやすいコードに変更した。)
また、自分のチームではあまり使われていなかった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?