array_udiff - Вычисляет расхождение массивов, используя для сравнения callback-функцию
Вернуться к: Функции для работы с массивами
array_udiff
(PHP 5)
array_udiff — Вычисляет расхождение массивов, используя для сравнения callback-функцию
Описание
Вычисляет расхождение массивов, используя для сравнения данных callback-функцию. Это отличается от поведения array_diff(), которая использует встроенную функцию для сравнения данных.
Список параметров
- array1
-
Первый массив.
- array2
-
Второй массив.
- data_compare_func
-
Callback-функция, используемая для сравнения.
Callback-функция, предоставленная пользователем, которая будет использована для сравнения. Она должна возвращать целое число меньшее, равно или большее нуля, если первый аргумент, соответственно, меньше, равен или больше второго.
Возвращаемые значения
Возвращает массив, содержащий все элементы array1, которые не существуют в каком-либо из других аргументов.
Примеры
Пример #1 Пример использования array_udiff()
<?php
class cr {
private $priv_member;
function cr($val)
{
$this->priv_member = $val;
}
static function comp_func_cr($a, $b)
{
if ($a->priv_member === $b->priv_member) return 0;
return ($a->priv_member > $b->priv_member)? 1:-1;
}
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);
$result = array_udiff($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>
Результат выполнения данного примера:
Array
(
[0.5] => cr Object
(
[priv_member:private] => 12
)
[0] => cr Object
(
[priv_member:private] => 23
)
)
Примечания
Замечание: Обратите внимание, что эта функция обрабатывает только одно измерение многомерного массива. Разумеется, вы можете обработать более одного измерения, используя array_udiff($array1[0], $array2[0], "data_compare_func");.
Смотрите также
- array_diff() - Вычислить расхождение массивов
- array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
- array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи 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-функцию
Вернуться к: Функции для работы с массивами