Instance
Compares the key names of two arrays (using a user-defined function to compare key names) and returns the difference set:
<?phpfunction myfunction ($a, $b) {if ($a = = = $b) {return 0;} return ($a > $b) 1:-1;} $a 1=array ("a" and "Red", "B" and "Green", "c" = "blue"), $a 2=array ("a" and "Blue", "B" and "Black", "e" = "Blue") $result =array_diff_ukey ($a 1, $a 2, "MyFunction");p Rint_r ($result);? >
Definition and usage
The Array_diff_ukey () function is used to compare the key names of two (or more) arrays and return a difference set.
Note: This function uses a user-defined function to compare key names!
The function compares the key names of two (or more) arrays, and returns an array of difference sets that contain all the key names in the array being compared (array1), but not in any other parameter array (array2 or array3, and so on).
Grammar
Array_diff_ukey (array1,array2,array3...,myfunction);
parameters |
description |
array1 |
required. The first array to compare with the other array. |
array2 |
required. The array to compare with the first array. |
optional. Other arrays compared to the first array |
myfunction |
required. A string that defines the callable comparison function. If the first parameter is <, =, > The second argument, the corresponding comparison function must return an integer of < =, > 0. |
Technical details
return value: |
Returns an array of difference sets that contain all the key names in the array being compared (array1), but not in any other parameter array (array2 or array3, and so on). |
PHP version: |
5.1+ |
More examples
Example 1
Compares the key names of three arrays (using a user-defined function to compare key names) and returns the difference set:
<?phpfunction myfunction ($a, $b) {if ($a = = = $b) {return 0;} return ($a > $b) 1:-1;} $a 1=array ("a" and "Red", "b" = "green", "c" = "blue"), $a 2=array ("a" and "Black", "B" and "Yellow", "D" and "=" Brown "), $a 3=array (" e "=" purple "," f "=" white "," a "and" gold "); $result =array_diff_ukey ($a 1, $a 2, $a 3," MyFunction ");p Rint_r ($result);? >
1. Function: Use the caller's custom function, according to the key value, returns the difference set of the array;
2. Parameters of the function:
Array $array 1 @params array to be compared
Arrays @params Array $array 2 comparison
Arrays @params Array $array 3 comparison
...
3. Note the point:
1) The custom function returns less than 0, equals 0, or greater than 0, according to the first parameter less than, equal to, or greater than respectively;
4. Example:
<?php$array1 = [' a ' = = 1, ' B ' = = 2, ' c ' = = 3,0 = 4]; $array 2 = [' A ' => ; 1, ' b ' = + 2, ' C ' = 3, ' 0 ' and ' 4 ';p rint_r (Array_diff_ukey ($array 1, $array 2,function ($a, $b) {if ($a = = = $b) { return 0; } return $a < $b? -1:1;}));