array_uintersect

(PHP 5)

array_uintersectВычисляет пересечение массивов, используя для сравнения значений callback-функцию

Описание

array array_uintersect ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Вычисляет пересечение массивов, используя для сравнения значений callback-функцию.

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

array1

Первый массив.

array2

Второй массив.

data_compare_func

Используемая для сравнения callback-функция.

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

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

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

Примеры

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

<?php
$array1 
= array("a" => "green""b" => "brown""c" => "blue""red");
$array2 = array("a" => "GREEN""B" => "brown""yellow""red");

print_r(array_uintersect($array1$array2"strcasecmp"));
?>

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

Array
(
    [a] => green
    [b] => brown
    [0] => red
)

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

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

Коментарии

I want to stress that in the user function, you do need to return either a 1 or a -1 properly; you cannot simply return 0 if the results are equal and 1 if they are not. 

The following code is incorrect:

<?php
function myfunction($v1,$v2
{
if (
$v1===$v2)
    {
    return 
0;
    }
return 
1;
}

$a1=array(124);
$a2=array(134);
print_r(array_uintersect($a1,$a2,"myfunction"));
?>

This code is correct:

<?php
function myfunction($v1,$v2
{
if (
$v1===$v2)
    {
    return 
0;
    }
if (
$v1 $v2) return 1;
return -
1;
}
$a1=array(124);
$a2=array(134);
print_r(array_uintersect($a1,$a2,"myfunction"));
?>
2007-02-02 14:03:32
http://php5.kiev.ua/manual/ru/function.array-uintersect.html

    Поддержать сайт на родительском проекте КГБ