array_intersect_uassoc

(PHP 5, PHP 7, PHP 8)

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

Описание

array_intersect_uassoc(array $array, array ...$arrays, callable $key_compare_func): array

Функция array_intersect_uassoc() возвращает массив, состоящий из значений массива array, которые содержатся во всех переданных аргументах. Обратите внимание, что, в отличие от функции array_intersect(), сравниваются ключи.

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

array

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

arrays

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

key_compare_func

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

callback(mixed $a, mixed $b): int
Предостережение

Возвращение нецелых значений из функции сравнения, таких как число с плавающей точкой (float), приведёт к внутреннему приведению возвращаемого значения callback-функции к целому числу (int). Таким образом, значения 0.99 и 0.1 будут приведены к целочисленному значению 0, что позволит сравнить эти значения как равные.

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

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

Примеры

Пример #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
11 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