PHP

PHP 配列を比較して共通項のキーを取得する方法 / array_intersect_key

PHPの「配列を比較して共通項のキーを取得する方法」についてざっくり解説します。
詳細はPHPマニュアルを確認してください。

サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!

【PHP初学者向け】var_dump()ってなに? あけお スクールに多額のお金を支払う前に、僕の記事で学習してみてね!! こんな人に読んでほしい 「var_dump(...

連想配列がよくわからない、というか配列の理解がフワッとしてる、、
という方は先にこちらをみた方がいいかもです!

https://akeoblog.com/association-2/

1. array_intersect_key関数

書き方

array_intersect_key(①, ②)

  1. 比較元の配列
  2. 比較したい配列

2. 使い方

サンプルコード①

<?php
$fruits = ["apple" => 1, "banana" => 2, "orange" => 3, "melon" => 4];
$fruits2 = ["cherry" => 5, "banana" => 6, "orange" => 7, "peach" => 8];
$result = array_intersect_key($fruits, $fruits2);
var_dump($result);
このコードの実行結果はこちら
array(2) {
  ["banana"]=>
  int(2)
  ["orange"]=>
  int(3)
}

サンプルコード②

<?php
$fruits = ["apple" => 1, "banana" => 2, "orange" => 3, "melon" => 4];
$fruits2 = ["cherry" => 5, "banana" => 6, "orange" => 7, "peach" => 8];
$fruits3 = ["banana" => 9, "peach" => 10];
$result = array_intersect_key($fruits, $fruits2, $fruits3);
var_dump($result);
このコードの実行結果はこちら
array(1) {
  ["banana"]=>
  int(2)
}

第3引数以降を指定することで、3つ以上の配列から共通のキー名を取得できます!!