ScotlandPHP

array_intersect_uassoc

(PHP 5, PHP 7)

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

Описание

array array_intersect_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

array_intersect_uassoc() возвращает массив, содержащий значения array1, содержащиеся во всех последующих параметрах. Обратите внимание, что в отличие от array_intersect(), для сравнения используются ключи.

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

array1

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

array2

Первый массив, с которым сравниваются ключи.

...

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

key_compare_func

Функция сравнения должна возвращать целое, которое меньше, равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй. Обратите внимание, что до PHP 7.0.0, это целое не могло выходить за рамки диапазона с -2147483648 по 2147483647

int callback ( mixed $a, mixed $b )

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

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

Примеры

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

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

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

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

Array
(
    [b] => brown
)

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

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

add a note add a note

User Contributed Notes 1 note

up
-32
swapniltiwhane at gmail dot com
4 years ago
$a = array(
        array(
                'id' => 15,
                'name' => 'John',
                'color' => 'red',
        ),
        array(
                'id' => 22,
                'name' => 'Elise',
                'color' => 'blue',
        ),
        array(
                'id' => 30,
                'name' => 'Mark',
                'color' => 'red',
        ),
);

$b = array(
        array(
                'id' => 15,
                'name' => 'Nancy',
                'color' => 'black',
        ),
        array(
                'id' => 20,
                'name' => 'Elise',
                'color' => 'blue',
        ),
        array(
                'id' => 30,
                'name' => 'Mark',
                'color' => 'red',
        ),
        array(
                'id' => 40,
                'name' => 'John',
                'color' => 'orange',
        ),
);

function compare_ids($a, $b)
{
    return ((bool)($a['id'] - $b['id']));
}

print_r(array_intersect_uassoc($a, $b, "compare_ids"));
To Top