Функция 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().