Сравнивает ключевые значения двух массивов (используя пользовательскую функцию для сравнения ключевых значений) и возвращает пересечение:
<?php функция моя функция ( $a , $b ) { если ( $а === $б ) { возвращаться 0 ; возвращаться ( $а > $ б ) 1 : - 1 } $a1 = массив ( « a » => « красный » , « b » => « зеленый » , « c » => « синий » ) ; $a2 = массив ( « a » => « синий » , « b »; => " черный " , " e " => " синий " ) ; $result = array_uintersect ( $a1 , $a2 , " myfunction " ) ; print_r ( $ result ) ;Функция array_uintersect() сравнивает ключевые значения двух (или более) массивов и возвращает пересечение.
Примечание. Эта функция использует определяемую пользователем функцию для сравнения значений ключей!
Эта функция сравнивает ключевые значения двух (или более) массивов и возвращает массив пересечений, который включает в себя все значения сравниваемого массива ( массив1 ), а также любые другие массивы параметров ( массив2 или массив3 и т.д.) ) в ключевом значении.
array_uintersect( массив1,массив2,массив3...,мояфункция )
параметр | описывать |
---|---|
массив1 | Необходимый. Первый массив для сравнения с другими массивами. |
массив2 | Необходимый. Массив для сравнения с первым массивом. |
массив3,... | Необязательный. Дополнительный массив для сравнения с первым массивом. |
моя функция | Необходимый. Строка, определяющая вызываемую функцию сравнения. Если первый параметр <, =, > второго параметра, соответствующая функция сравнения должна возвращать целое число <, =, > 0. |
Возвращаемое значение: | Возвращает массив пересечений, содержащий все ключи в сравниваемом массиве ( array1 ) и любых других массивах параметров ( array2 или array3 и т. д.). |
---|---|
PHP-версия: | 5+ |
Используйте встроенную функцию strcasecmp, чтобы игнорировать сравнения регистров и возвращать пересечение:
<?php $array1 = array ( « a » => « зеленый » , « b » => « коричневый » , « c » => « синий » , « красный » ) ; $array2 = array ( « a » => « ЗЕЛЕНЫЙ »); , " B " = > " коричневый " , " желтый " , " красный " ) ; print_r ( array_uintersect ( $array1 , $array2 , " strcasecmp " ) ) ;