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 ) ]]> Функция считает элементы равными, только если равны строковые представления значений: (string) $elem1 === (string) $elem2. Пример сравнения массивов с несовпадающими типами функцией <function>array_diff</function> 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); var_dump($result); ]]> Функция array_udiff сравнивает массивы альтернативным способом. &reftitle.notes; Функция проверяет только один уровень вложенности n-мерного массива. Более глубокие уровни вложенности сравнивают так: array_diff($array1[0], $array2[0]);. &reftitle.seealso; array_diff_assoc array_udiff array_intersect array_intersect_assoc