PHP array_diff_uassoc() function
Example
Compare the key names and values of two arrays (using a user-defined function to compare key names) and return the difference set:
<?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("d" => "red", "b" => "green", "e" => "blue"); $result=array_diff_uassoc($a1, $a2, "myfunction"); print_r($result); ?>
Definition and Usage
The array_diff_uassoc() function is used to compare the key names and values of two (or more) arrays and returns the difference set.
Note:The function uses a user-defined function to compare key names!
This function compares the key names and values of two (or more) arrays and returns a difference set array that includes all elements inarray1)but not in any other parameter array (array2 or array3 etc.) key names and values.
Syntax
array_diff_uassoc(array1,array2,array3...myfunction);
Parameters | Description |
---|---|
array1 | Required. The first array to compare with other arrays. |
array2 | Required. The array to compare with the first array. |
array3,... | Optional. Other arrays to compare with the first array. |
myfunction | Required. A string that defines a callable comparison function. If the first parameter is less than, equal to, or greater than the second parameter, the comparison function must return an integer less than, equal to, or greater than 0. |
Description
The array_diff_uassoc() function uses a user-defined callback function (callback) to perform index checks and calculate the difference set of two or more arrays. It returns an array that includes the elements in array1 but not in any other parameter array.
Note that unlike the array_diff() function, key names are also compared.
The parameter myfunction is a user-defined function used to compare two arrays. This function must have two parameters - i.e., the key names to be compared. Therefore, it is exactly opposite in behavior to the function array_diff_assoc(), which uses an internal function for comparison.
The key names in the returned array remain unchanged.
Technical Details
Return Value: | Returns the difference set array, which includes all the values in the arrays being compared (array1)but not in any other parameter array (array2 or array3 etc.) key names and values. |
PHP Version: | 5+ |
More Examples
Example 1
Compare the key names and values of three arrays (using a user-defined function to compare key names) and return the difference set:
<?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"=>"red","b"=>"green","d"=>"blue"); $a3=array("e"=>"yellow","a"=>"red","d"=>"blue"); $result=array_diff_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>