php 複数の連想配列のキーのみの差分を取得する

phpで、array_diff_keyを使用して、複数の連想配列のキーのみの差分を取得するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
array_diff_key使い方
array_diff_keyを使用すれば、複数の連想配列のキーのみの差分を取得することが可能です。
1 |
array_diff_key(連想配列, 連想配列, ... ) |
以下は、複数の連想配列のキーのみの差分を取得するサンプルコードとなります。
1 2 3 4 5 6 7 8 9 |
<?php $arr1 = ["a" => 1, "b" => 2, "c" => 3, "d" => 4]; $arr2 = ["a" => 1, "b" => 3, "c" => 4]; $result = array_diff_key($arr1, $arr2); print_r($result); |
実行結果
1 2 3 4 |
Array ( [d] => 4 ) |
複数の配列同士でも可能です。
1 2 3 4 5 6 7 8 9 10 |
<?php $arr1 = ["a" => 1, "b" => 2, "c" => 3, "d" => 4]; $arr2 = ["a" => 1, "b" => 3]; $arr3 = ["c" => 4]; $result = array_diff_key($arr1, $arr2, $arr3); print_r($result); |
実行結果
1 2 3 4 |
Array ( [d] => 4 ) |
また、文字列にキャストされて比較していため、数値「1」と文字列の「”1″」は同じものとして判定されます。
1 2 3 4 5 6 7 8 9 |
<?php $arr1 = ["1" => 1, "2" => 2, "c" => 3, "d" => 4]; $arr2 = [1 => 1, 2 => 3]; $result = array_diff_key($arr1, $arr2); print_r($result); |
実行結果
1 2 3 4 5 |
Array ( [c] => 3 [d] => 4 ) |
-
前の記事
rails6 webpackerでCSSを使う 2021.01.20
-
次の記事
CSS3でコンテンツを全画面表示 2021.01.20
コメントを書く