Definition and usage
The ARRAY_DIFF_UASSOC () function uses a user-defined callback function (callback) to perform an index check to calculate the difference between two or more arrays. Returns an array that contains the values in array1 but not in any other parameter array.
Note that unlike the Array_diff () function, the key name is also compared.
The parameter function is a user-defined one that compares two arrays, and the function must have two parameters-that is, two key names to be compared. Therefore, the behavior of the function Array_diff_assoc () is reversed, and the latter is compared by an intrinsic function.
The key names in the returned array remain unchanged.
The custom function is only to get the desired result array.
Grammar
ARRAY_DIFF_UASSOC (array1,array2,array3...,function)
| Parameters |
Describe |
| Array1 |
Necessary. The first array to compare with the other array. |
| Array2 |
Necessary. The array to compare with the first array. |
| Array3 |
Optional. The array to compare with the first array. Can have more than one. |
| function |
Necessary. The name of the user-defined function. |
Example 1
<?phpfunction MyFunction ($v 1, $v 2) { if ($v 1=== $v 2) { return 0; } if ($v 1> $v 2) {return 1; } else{return-1;} } $a 1 = array (0=> "dog",1=> "Cat",2=> "Horse"), $a 2 = Array (3=> "dog",1=> "Cat",5=> "Horse");p Rint_r ( ARRAY_DIFF_UASSOC ($a 1, $a 2, "myfunction"));? >
Output:
Array ([0] = Dog [2] = Horse)
Example 2
How to assign multiple arrays to the function:
<?phpfunction MyFunction ($v 1, $v 2) { if ($v 1=== $v 2) {return 0; } if ($v 1> $v 2) {return 1; } else{return-1;} } $a 1 = array (0=> "dog",1=> "Cat",2=> "Horse"), $a 2 = Array (3=> "dog",1=> "Cat",5=> "Horse"), $a 3 = Array (6= > "Bird",0=> "Dog",5=> "Horse");p Rint_r (ARRAY_DIFF_UASSOC ($a 1, $a 2, $a 3, "myfunction")); >
Output:
Array ([2] = Horse)
PHP Array_diff_uassoc ()