array_diff_uassoc Вычислить расхождение в массивах с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем &reftitle.description; arrayarray_diff_uassoc arrayarray1 arrayarray2 array... callbackkey_compare_func Сравнивает array1 c array2 и возвращает разницу. В отличие от array_diff, для сравнения используются ключи. В отличие от array_diff_assoc, для сравнения ключей используется пользовательская функция, а не встроенная. &reftitle.parameters; array1 Исходный массив array2 Массив, с которым идет сравнение ... Дополнительные массивы, с которыми осуществляется сравнение key_compare_func Используемая callback-функция. Данная функция должна возвращать целое число, меньшее, равное, либо большее нуля, если первый аргумент соответственно считается меньшим, равным, либо большим, чем второй. &reftitle.returnvalues; Возвращает an array, содержащий все элементы array1, которых нет во всех остальных массивах. &reftitle.examples; Пример использования <function>array_diff_uassoc</function> Пара "a" => "green" существует в обоих массивах и поэтому отсутствует в выводе функции. Наоборот, пара 0 => "red" находится в выводе функции, так как второй аргумент "red" имеет ключ, равный 1. $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 ) ]]> Равенство 2 индексов проверяется функцией, предоставляемой пользователем. &reftitle.notes; Эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff_uassoc($array1[0], $array2[0], "key_compare_func");. &reftitle.seealso; 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