PHPの「配列を比較して共通項のキーを取得する方法」についてざっくり解説します。
詳細はPHPマニュアルを確認してください。
サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!
https://akeoblog.com/vardump/連想配列がよくわからない、というか配列の理解がフワッとしてる、、
という方は先にこちらをみた方がいいかもです!
目次
1. array_intersect_key関数
書き方
array_intersect_key(①, ②)
- 比較元の配列
- 比較したい配列
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つ以上の配列から共通のキー名を取得できます!!