Функция PHP array_diff
array array_diff ( array array1, array array2 [, array ...] )
Функция array_diff() возвращает массив, состоящий из значений массива массив_1, которые отсутствуют в любом другом массиве, перечисленном в последующих аргументах. Обратите внимание, что ключи массивов сохраняются.
Пример использования array_diff()
<?
$array1 = array ("a" => "green", "red", "blue", "red");
$array2 = array ("b" => "green", "yellow", "red");
$result = array_diff ($array1, $array2);
?>
В результате выполнения этой программы переменная $result будет содержать array ("blue");. Повторения одного и того же значения в $array1 обрабатываются как одно значение.
Замечание: Два элемента считаются одинаковыми если и только если (string) $elem1 === (string) $elem2. Другими словами, когда их строковое представление идентично.
Замечание: Обратите внимание, что эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff($array1[0], $array2[0]);.
См.также array_intersect().