Compares the key values of two arrays (using a user-defined function to compare the key values) and returns the intersection:
<?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 ) ; ?>The array_uintersect() function compares the key values of two (or more) arrays and returns the intersection.
Note: This function uses a user-defined function to compare key values!
This function compares the key values of two (or more) arrays and returns an intersection array that includes all the values in the compared array ( array1 ), as well as any other parameter arrays ( array2 or array3, etc.) ) in the key value.
array_uintersect( array1,array2,array3...,myfunction )
parameter | describe |
---|---|
array1 | Required. The first array to compare with other arrays. |
array2 | Required. The array to compare to the first array. |
array3,... | Optional. Additional array to compare with the first array. |
myfunction | Required. A string that defines a callable comparison function. If the first parameter <, =, > the second parameter, the corresponding comparison function must return an integer <, =, > 0. |
Return value: | Returns an intersection array containing all keys in the compared array ( array1 ) and any other parameter arrays ( array2 or array3 , etc.). |
---|---|
PHP version: | 5+ |
Use the built-in function strcasecmp to ignore case comparisons and return the intersection:
<?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 " ) ) ; ?>