array_diff

(PHP 4 >= 4.0.1, PHP 5)

array_diff -- 配列の差を計算する

説明

array array_diff ( array array1, array array2 [, array ...] )

array_diff() は、他の引数のいずれにも存在しない 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]); のようにすることでより深い次元でのチェックもできます。

警告

この関数は、PHP 4.0.4 では動作しません!

array_diff_assoc() array_intersect() および array_intersect_assoc() も参照ください。