array_diff

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

array_diff配列の差を計算する

説明

array_diff ( array $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]); のようにすることでより深い次元でのチェックもできます。

参考