array_diff_uassoc Вычислить расхождение в массивах с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем Описание arrayarray_diff_uassoc arrayarray1 arrayarray2 array... callbackkey_compare_func array_diff_uassoc возвращает array, содержащий все значения array1, не содержащиеся в последующих параметрах. Обратите внимание, что в отличие от array_diff, для сравнения используются ключи. Для сравнения используется функция, определённая пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, меньше, равен или больше второго. В отличие от array_diff_assoc, использующей для сравнения встроенную функцию. Пример использования <function>array_diff_uassoc</function> $b)? 1:-1; } $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "green", "yellow", "red"); $result = array_diff_uassoc($array1, $array2, "key_compare_func"); print_r($result); ?> ]]> &example.outputs; brown [c] => blue [0] => red ) ]]> В нашем примере пара "a" => "green" существует в обоих массивах и поэтому не присутствует в выводе функции. Наоборот, пара 0 => "red" присутствует в выводе, потому что во втором аргументе значению "red" соответствует ключ 1. Равенство двух индексов проверяется при помощи функции, определённой пользователем. Обратите внимание, что эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff_uassoc($array1[0], $array2[0], "key_compare_func");. См. также array_diff, array_diff_assoc, array_udiff, array_udiff_assoc, array_udiff_uassoc, array_intersect, array_intersect_assoc, array_uintersect, array_uintersect_assoc и array_uintersect_uassoc.