array_diff_uassoc
(PHP 5, PHP 7)
array_diff_uassoc — Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
Описание
Сравнивает array
c arrays
и возвращает разницу. В отличие от array_diff(),
для сравнения используются ключи.
В отличие от array_diff_assoc(), для сравнения ключей используется пользовательская функция, а не встроенная.
Список параметров
-
array
-
Исходный массив
-
arrays
-
Массивы, с которыми идет сравнение
-
key_compare_func
-
Функция сравнения должна возвращать целое, которое меньше, равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй.
Возвращаемые значения
Возвращает массив (array), содержащий все элементы
array
, которых нет во всех остальных массивах.
Примеры
Пример #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-функции