array_diff_ukey()
是 PHP 中的一个内置函数。 array_diff_ukey() 函数将两个或多个数组的键与用户定义的函数进行比较,并返回一个数组,其中包含 array1 中不存在于 array2 或 array3 等中的条目。
简单来说array_diff_ukey() 函数通过开发者自定义的函数用于比较两个(或更多个)数组的键名 ,并返回差集,并且是以第一个数组的键名为标准。
此函数是在 PHP 5.1 中引入的。
语法
array_diff_ukey(array1,array2,array3...,user_function);
参数
参数 | 描述 | 必须/可选 |
---|---|---|
array1 | 要比较的数组1 | 必须 |
array2 | 要比较的数组2 | 必须 |
array3 | 要比较的更多数组... | 可选 |
user_function | 用户自定义函数,定义比较字符串的函数。 | 必须 |
返回值
它返回一个数组,其中包含 array1 中不存在于任何其他数组中的所有条目。
例子1
<?php
function compfunction($x,$y)
{
if ($x===$y)
{
return 0;
}
return ($x>$y)?1:-1;
}
$comp1=array("a"=>"1","b"=>"2","c"=>"3","j"=>"yxjc123.com");
$comp2=array("a"=>"1","b"=>"2","e"=>"5");
$res=array_diff_ukey($comp1,$comp2,"compfunction");
print_r($res);
?>
输出:
Array( [c] => 3 [j] => yxjc123.com )
例子2
<?php
function myfunction($x,$y)
{
if ($x===$y)
{
return 0;
}
return ($x>$y)?1:-1;
}
$alpha1=array("a"=>"apple","b"=>"ball","c"=>"cat");
$alpha2=array("a"=>"ant","b"=>"boy","d"=>"dog");
$alpha3=array("e"=>"elephant","f"=>"fox","a"=>"about");
$result=array_diff_ukey($alpha1,$alpha2,$alpha3,"myfunction");
print_r($result);
?>
输出:
Array ( [c] => cat )
例子3
<?php
function keyFunction($x, $y)
{
if ($x === $y)
{
return 0;
}
return ($x > $y) ? 1 : -1;
}
$lang1 = array( "a" => "Python", "b" => "PHP", "c" => "php" );
$lang2 = array( "a" => "php", "b" => "Ruby", "d" => "php" );
$result = array_diff_ukey($lang1, $lang2, "keyFunction");
print_r($result);
?>
输出:
Array( [c] => php )
例子4
<?php
function compfunction($x, $y)
{
if ($x === $y)
{
return 0;
}
return ($x > $y) ? 1 : -1;
}
$game1 = array( "x" => "cricket", "y" => "tennis", "z" => "football" );
$game2 = array( "x" => "golf", "y" => "hockey", "w" => "cycling" );
$game3 = array( "u" => "badminton", "v" => "shooting", "x" => "boxing" );
$result = array_diff_ukey($game1, $game2, $game3, "compfunction");
print_r($result);
?>
输出:
Array( [z] => football )