(PHP 4 >= 4.0.1, PHP 5, PHP 7)
array_diff — 配列の差を計算する
$array1
, array $array2
[, array $...
] ) : array
array1
を他の配列と比較し、
array1
の要素の中で他の配列には存在しないものだけを返します。
array1
比較元の配列。
array2
比較対象の配列。
...
さらに比較したい配列。
array1
のエントリのうち、他のどの配列にも含まれない要素のみを含む配列を返します。
例1 array_diff() の例
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
$array1 に複数存在する場合でも全て同様に処理されます。 この出力は次の通りです。
Array ( [1] => blue )
注意:
二つの要素は、(string) $elem1 === (string) $elem2 の場合のみ等しいと見直されます。言い換えると、文字列表現が同じ場合となります。
注意:
この関数は n 次元配列の一つの次元しかチェックしません。 もちろん、array_diff($array1[0], $array2[0]); のようにすることでより深い次元でのチェックもできます。