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

phpで、array_diff_assocを使用して、複数の連想配列の差分を取得するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
array_diff_assoc使い方
array_diff_assocを使用すれば、複数の連想配列の差分を取得することが可能です。
array_diff_assoc(連想配列, 連想配列, ... )
以下は、複数の連想配列の差分を取得するサンプルコードとなります。
<?php
$arr1 = ["a" => 1, "b" => 2, "c" => 3, "d" => 4];
$arr2 = ["a" => 1, "b" => 3, "c" => 4, "e" => 5];
$result = array_diff_assoc($arr1, $arr2);
print_r($result);
実行結果 キーと値が同じでなければ、差分とみなされない
Array
(
[b] => 2
[c] => 3
[d] => 4
)
複数の配列同士でも可能です。
<?php
$arr1 = ["a" => 1, "b" => 2, "c" => 3, "d" => 4];
$arr2 = ["a" => 1, "b" => 3, "c" => 4, "e" => 5];
$arr3 = ["c" => 3];
$result = array_diff_assoc($arr1, $arr2, $arr3);
print_r($result);
実行結果
Array
(
[b] => 2
[d] => 4
)
また、文字列にキャストされて比較していため、数値「1」と文字列の「”1″」は同じものとして判定されます。
<?php
$arr1 = ["a" => 1, "b" => 2.1, "c" => 3, "d" => 4];
$arr2 = ["a" => "1", "b" => "2.1"];
$result = array_diff_assoc($arr1, $arr2);
print_r($result);
実行結果
Array
(
[c] => 3
[d] => 4
)
-
前の記事
CSSだけでクリックイベントを実装する 2021.01.19
-
次の記事
javascript ベンダープレフィック付きのCSSを変更する 2021.01.20
コメントを書く