Важные справочники к ночным пляскам с бубном:)  

  СПРАВОЧНИК PHP

Работа с несколькими массивами

array_diff_uassoc()

Определение различия между массивами при помощи пользовательской функции с дополнительной проверкой ключей массива. Синтаксис:

Функция array_diff_uassoc() возвращает массив, который содержит значения, имеющиеся только в массиве arr1 ( и не имеющиеся в любых других).

Обратите внимание, что в отличии от функции array_diff(), при сравнении учитываются ключи. Сделано это при помощи пользовательской функции key_compare_func. Эта функция должна возвращать целое число, которое должно быть меньше нуля, если первый переданный ей аргумент меньше чем второй, равное нулю, если первый аргумент равен второму, и больше нуля, если первый аргумент больше второго. Эта функция отличается от array_diff_assoc(), где сравнение значений и индексов происходит автоматически. Пример использования array_diff_uassoc():

Пример выведет следующее:

В приведенном примере пара "a" => "green" присутствует в обоих массивах, поэтому она не вошла в результирующий массив. В отличие от этого, значение red присутствует в результирующем массиве, т.к. в первом массиве это значение имело ключ 0, а во втором массиве оно имело ключ 1.

Равенство индексов проверяется пользовательской функцией. Обратите внимание, что данная функция не позволяет напрямую сравнивать многомерные массивы. Хотя конечно можно сравнить вложенные массивы, используя, например, array_diff_uassoc ($array1[0], $array2[0], "key_compare_func");.

Функция поддерживается PHP 5

script© 16valve.ru version 1.0 2016