Функция PHP array_uintersect()
Пример
Сравнение значений ключей двух массивов (с использованием пользовательской функции для сравнения значений ключей) и возврат пересечения:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"blue","b"=>"black","e"=>"blue"); $result=array_uintersect($a1,$a2,"myfunction"); print_r($result); ?>
Определение и использование
Функция array_uintersect() используется для сравнения значений ключей двух (или более) массивов и возвращает пересечение.
Комментарии:Эта функция использует пользовательскую функцию для сравнения значений ключей.
Эта функция сравнивает значения ключей двух (или более) массивов и возвращает массив пересечения, который включает все элементы, содержащиеся во всех сравниваемых массивах (array1), также и в любом другом параметрическом массиве (array2 или array3 и т.д.) ключи значений.
Синтаксис
array_uintersect(array1,array2,array3...myfunction)
Параметры | Описание |
---|---|
array1 | Обязателен. Первый массив, сравнивающийся с другими массивами. |
array2 | Обязателен. Массив, с которым сравнивается первый массив. |
array3,... | Опционален. Другие массивы, с которыми сравнивается первый массив. |
myfunction |
Обязателен. Строковое значение, определяющее вызываемую функцию. Если первый параметр меньше или равен второму параметру, функция сравнения должна возвращать целое число, меньше или равное 0. |
Описание
использование пользовательской функции обратного вызова myfunction для вычисления пересечения двух или нескольких массивов (т.е. array1 содержит все элементы всех других массивов, и возвращает массив результатов.
Только сравнение значений ключей, без сравнения имен ключей, например, "a"=>1 и "b"=>1 эти два элемента считаются равными.
myfunction Функция,指定的 параметром, используется для сравнения элементов на равенство.myfunction Функция имеет два параметра для сравнения. Если первый параметр меньше второго, функция возвращает отрицательное число, если параметры равны, то возвращает 0, если первый параметр больше второго, то возвращает положительное число.
Имена ключей в возвращаемом массиве сохраняются без изменений.
Технические детали
Возврат значений: |
Возврат массива, включающего все array1 включая единицы, присутствующие во всех других массивах. Возврат массива пересечения, который включает все элементы, присутствующие в всех сравниваемых массивах (array1), также и в любом другом параметрическом массиве (array2 или array3 и т.д.) ключи значений. |
Версия PHP: | 5+ |
Более примеров
Пример 1
Сравнение ключей значений трех массивов (используя пользовательскую функцию для сравнения ключей) и возврат пересечения:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue","yellow"); $a2=array("A"=>"red","b"=>"GREEN","yellow","black"); $a3=array("a"=>"green","b"=>"red","yellow","black"); $result=array_uintersect($a1,$a2,$a3,"myfunction"); print_r($result); ?>