Compare the key values of two arrays (using a user-defined function to compare the key values) and return the difference:
<?phpfunction 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_udiff($a1,$a2,"myfunction");print_r($result);?>The array_udiff() function is used to compare the key values of two (or more) arrays and return the difference.
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 a difference array that includes all values in the compared array ( array1 ) but not in any other argument array ( array2 or array3, etc. ) in the key value.
array_udiff( 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 a difference array that includes all keys that are in the compared array ( array1 ) but not in any other argument array ( array2 or array3 , etc.). |
---|---|
PHP version: | 5.1.0+ |
Compare the key values of three arrays (use a user-defined function to compare the key values) and return the difference:
<?phpfunction 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_udiff($a1,$a2,$a3," myfunction");print_r($result);?>