|
スポンサードリンク
配列の差分を取得するには、array_diff()関数を使います。
array_diff()関数が値のみの比較に対して、array_diff_assoc()関数はキーと
値の両方をそれぞれ比較します。
array_diff( 配列1, 配列2, [,配列3...]) |
指定した配列の差分を取得する。
差分データは、配列1の異なる要素が返されます。
差分が無い場合、空の配列が返されます。 |
例1) 配列「$str1」と配列「$str2」の差分を取得する。
<?php
$str1 = array("key1"=>"aa","key2"=>"bb","key3"=>"cc");
$str2 = array("key1"=>"aa","key2"=>"xx","key3"=>"xx");
var_dump( array_diff($str1,$str2));
?>
●実行結果
array(2) {
["key2"]=>
string(2) "bb"
["key3"]=>
string(2) "cc"
} |
例2) 配列「$str1」と配列「$str2」の差分を取得する。
<?php
$str1 = array("key1"=>"aa","key2"=>"bb","key3"=>"cc");
$str2 = array("key1"=>"aa","key3"=>"bb","key2"=>"cc");
var_dump( array_diff($str1,$str2));
?>
●実行結果
array(0) {
} |
※配列に格納されている順番で比較するのでキーの違い関係ない。
例3) )配列「$str1」と配列「$str2」の差分を取得する。
<?php
$str1 = array("key1"=>"10","key2"=>"20");
$str2 = array("key1"=>10,"key2"=>20);
var_dump( array_diff($str1,$str2));
?>
●実効結果
array(0) {
} |
※上記例のように型の違いは無視される。
スポンサード リンク
|