array_diff_uassoc

(PHP 5)

array_diff_uassocВычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции

Описание

array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

Сравнивает array1 c array2 и возвращает разницу. В отличие от array_diff(), для сравнения используются ключи.

В отличие от array_diff_assoc(), для сравнения ключей используется пользовательская функция, а не встроенная.

Список параметров

array1

Исходный массив

array2

Массив, с которым идет сравнение

...

Дополнительные массивы, с которыми осуществляется сравнение

key_compare_func

Используемая callback-функция. Данная функция должна возвращать целое число, меньшее, равное, либо большее нуля, если первый аргумент соответственно считается меньшим, равным, либо большим, чем второй.

Возвращаемые значения

Возвращает array, содержащий все элементы array1, которых нет во всех остальных массивах.

Примеры

Пример #1 Пример использования array_diff_uassoc()

Пара "a" => "green" существует в обоих массивах и поэтому отсутствует в выводе функции. Наоборот, пара 0 => "red" находится в выводе функции, так как второй аргумент "red" имеет ключ, равный 1.

<?php
function key_compare_func($a$b)
{
    if (
$a === $b) {
        return 
0;
    }
    return (
$a $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);
?>

Результат выполнения данного примера:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Равенство 2 индексов проверяется функцией, предоставляемой пользователем.

Примечания

Замечание:

Эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff_uassoc($array1[0], $array2[0], "key_compare_func");.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
  • array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_uintersect() - Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию


Участник рейтинга Тэглайн 2010