Example
Compare the key names of two arrays (use user custom 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"=>"blue","b"=>"black","e"=>"blue"); $result=array_diff_ukey($a1,$a2,"myfunction"); print_r($result); ?>
Definition and usage
array_diff_ukey() function is used to compare the key names of two (or more) arrays and return the difference set.
Note: This function uses a user-defined function to compare key names!
This function compares the key names of two (or more) arrays and returns a difference array that includes everything in the compared array (array1) but not in any other parameter array (array2 or array3, etc.).
Syntax
array_diff_ukey(array1,array2,array3...,myfunction);
Parameters | Description |
array1 | Required. The first array to compare with other arrays. |
array2 | Required. The array to compare to the first array. |
array3,... | Optional. Additional array |
myfunction | Required to compare to the first array. A string that defines a callable comparison function. If the first argument is <, =, > and the second argument is, the corresponding comparison function must return an integer of <, =, > 0. |
Technical details
Return value: | Returns a difference array, which includes Returns all keys that are in the array being compared (array1), but not in any of the other argument arrays (array2 or array3, etc.). |
PHP Version: | 5.1+ |
更多实例
实例 1
比较三个数组的键名(使用用户自定义函数比较键名),并返回差集:
<?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"=>"black","b"=>"yellow","d"=>"brown"); $a3=array("e"=>"purple","f"=>"white","a"=>"gold"); $result=array_diff_ukey($a1,$a2,$a3,"myfunction"); print_r($result); ?>
1.函数的作用:使用调用者自定义的函数,根据键值,返回数组的差集;
2.函数的参数:
@params array $array1 被比较的数组
@params array $array2 比较的数组
@params array $array3 比较的数组
...
3.注意点:
1)自定义的函数根据第一个参数小于、等于、大于分别返回小于0、等于0、大于0;
4.例子:
<?php $array1 = ['A' => 1,'B' => 2,'c' => 3,0 => 4]; $array2 = ['A' => 1,'b' => 2,'C' => 3,'0' => 4]; print_r(array_diff_ukey($array1,$array2,function($a,$b){ if($a === $b) { return 0; } return $a < $b ? -1 : 1; }));
The above is the detailed content of Function array_diff_ukey() for user-defined function comparison key names in php. For more information, please follow other related articles on the PHP Chinese website!