array_diff Вычисляет расхождение массивов &reftitle.description; arrayarray_diff arrayarray arrayarrays Сравнивает массив, переданный в параметр array, с одним или несколькими другими массивами и возвращает значения из массива array, которые отсутствуют во всех других массивах. &reftitle.parameters; array Исходный массив arrays Массивы, с которыми идёт сравнение &reftitle.returnvalues; Возвращает массив (array), содержащий те элементы массива array, которых нет в любом другом массиве. Ключи в массиве array сохраняются. &reftitle.changelog; &Version; &Description; &array.changelog.require-only-one; &reftitle.examples; Пример использования <function>array_diff</function> "green", "red", "blue", "red"); $array2 = array("b" => "green", "yellow", "red"); $result = array_diff($array1, $array2); print_r($result); ?> ]]> Множественные совпадения в $array1 обрабатываются как одно. Результат будет следующим: blue ) ]]> Пример использования <function>array_diff</function> с несовпадающими типами Два элемента считаются равными тогда и только тогда, когда (string) $elem1 === (string) $elem2. То есть, когда строковое представление одинаково. v = $v; } public function __toString() { return $this->v; } } $source = [new S('a'), new S('b'), new S('c')]; $filter = [new S('b'), new S('c'), new S('d')]; $result = array_diff($source, $filter); // $result теперь содержит один экземпляр S('a'); ?> ]]> Чтобы использовать альтернативную функцию сравнения, смотрите array_udiff. &reftitle.notes; Обратите внимание, что эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff($array1[0], $array2[0]);. &reftitle.seealso; array_diff_assoc array_udiff array_intersect array_intersect_assoc