Home  >  Article  >  Backend Development  >  Function array_diff_ukey() for user-defined function comparison key names in php

Function array_diff_ukey() for user-defined function comparison key names in php

黄舟
黄舟Original
2017-11-07 10:36:541084browse

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 f2c570bc5a616fb55b90df8c3566974f and the second argument is, the corresponding comparison function must return an integer of f2c570bc5a616fb55b90df8c3566974f 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 = [&#39;A&#39; => 1,&#39;B&#39; => 2,&#39;c&#39; => 3,0 => 4];
$array2 = [&#39;A&#39; => 1,&#39;b&#39; => 2,&#39;C&#39; => 3,&#39;0&#39; => 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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn