php 連想配列と連想配列を比較してキーのみが同じものを取得する

phpで、array_intersect_keyを使用して、連想配列と連想配列を比較してキーのみが同じものを取得するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
array_intersect_key使い方
array_intersect_keyを使用すれば、連想配列と連想配列を比較してキーのみが同じものを取得することが可能です。
1 |
array_intersect_key(配列,配列,...); |
以下は、連想配列と連想配列を比較してキーのみが同じものを取得するサンプルコードとなります。
1 2 3 4 5 6 7 8 |
<?php $arr1 = ["aaa" => 1, "bbb" => 2, "ccc" => 3]; $arr2 = ["aaa" => 7, "eee" => 5, "ccc" => 7]; $result = array_intersect_key($arr1,$arr2); print_r($result); |
実行結果
1 2 3 4 5 |
Array ( [aaa] => 1 [ccc] => 3 ) |
3つ以上も可能です。
1 2 3 4 5 6 7 8 9 10 |
<?php $arr1 = ["aaa" => 1, "bbb" => 2, "ccc" => 3]; $arr2 = ["aaa" => 1, "eee" => 5, "ccc" => 3]; $arr3 = ["aaa" => 2]; $result = array_intersect_key($arr1,$arr2,$arr3); print_r($result); |
実行結果
1 2 3 4 |
Array ( [aaa] => 1 ) |
文字列として比較しているので、数値の「1」と文字列の「1」は同じと見なされます。
1 2 3 4 5 6 7 8 |
<?php $arr1 = ["1" => 1, "bbb" => 2]; $arr2 = [1 => 1, "bbb" => 5]; $result = array_intersect_key($arr1,$arr2); print_r($result); |
実行結果
1 2 3 4 5 |
Array ( [1] => 1 [bbb] => 2 ) |
-
前の記事
python 圧縮化されたファイルを解凍する 2021.02.12
-
次の記事
javascript 割り算の結果を整数部のみ取得する 2021.02.13
コメントを書く