array_diff_uassoc()函数是PHP中的内置函数,用于使用用户定义的函数比较键来获取一个或多个数组之间的差。此函数将一个或多个数组之间的键和值进行比较,并从第一个数组中返回其余数组中不存在的元素。根据提供给此函数的uder定义函数对键进行比较。
注意:此函数不同于PHP |与array_diff_assoc()函数中的array_diff_assoc()函数一样,根据某些内部函数比较键,而在array_diff_uassoc()函数中,根据作为参数传递给用户定义的函数对键进行比较。
用法:
array_diff_assoc($array1, $array2, $array3, ..., $arrayn, user_function)
参数:此函数接受数组列表作为参数,并接受用户定义的函数(用于键的比较)。
- list_of_array:此函数获取由空格分隔的数组列表,我们要从中查找差异。在以上语法中,数组列表为$array1,$array2,$array3,…,$arrayn。该列表必须包含至少两个数组,否则将引发警告。
- user_fucntion:这是一个字符串类型参数,代表用于键比较的用户定义函数的名称。如果第一个参数大于,小于或等于第二个参数,则函数返回小于,大于或等于0的整数。
返回值:此函数返回一个数组,该数组包含第一个数组$array1的元素,这些元素在参数中传递给它的其他数组中不存在。比较第一个数组$array1的键和值以及其余数组。键的比较是根据用户定义的函数完成的。
例子:
Input : $a1=array(10=>"striver", 20=>"raj", 30=>"geek") $a2=array(20=>"striver", 10=>"raj", 30=>"geek") function user_function($a, $b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } Output: Array ( [10] => striver [20] => raj ) Explanation: Since user_function returns 0 when keys are equal and 1 and -1 when greater and less respectively. So, the elements with unequal keys are in the output array.
以下示例程序旨在说明PHP中的array_diff_uassoc()函数:
程序1::
<?php
// PHP program to illustrate the
// array_diff_uassoc() function
// user defined fucntion that returns 0 if
// $array1's keys are equal to any other
// input array, else returns 1 if greater,
// or -1 if smaller
function user_function($a, $b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)? 1: -1;
}
// Input Arrays
$a1=array(10=>"striver", 20=>"raj", 30=>"geek");
$a2=array(20=>"striver", 10=>"raj", 30=>"geek");
$result = array_diff_uassoc($a1, $a2, "user_function");
print_r($result);
?>
输出:
Array ( [10] => striver [20] => raj )
程序2::
<?php
// PHP program to illustrate the
// array_diff_uassoc() function
// user defined function that returns 1 if
// $array1's keys are equal to any other
// input array, else returns 1 if greater,
// or 0 if smaller
function user_function($a, $b)
{
if ($a===$b)
{
return 1;
}
return ($a>$b)? 1: 0;
}
// Input Arrays
$a1 = array(10=>"striver", 20=>"raj", 30=>"geek");
$a2 = array(20=>"striver", 10=>"raj", 30=>"geek");
$result=array_diff_uassoc($a1, $a2, "user_function");
print_r($result);
?>
:
输出:
Array ( [20] => raj [30] => geek )
参考:
http://php.net/manual/en/function.array-diff-uassoc.php
相关用法
- p5.js nfc()用法及代码示例
- p5.js nfp()用法及代码示例
- d3.js d3.hcl()用法及代码示例
- p5.js nfs()用法及代码示例
- PHP cos( )用法及代码示例
- PHP sin( )用法及代码示例
- p5.js nf()用法及代码示例
- PHP tan( )用法及代码示例
- PHP pow( )用法及代码示例
- d3.js d3.map.set()用法及代码示例
- d3.js d3.set.has()用法及代码示例
- PHP Ds\Set xor()用法及代码示例
注:本文由纯净天空筛选整理自Striver大神的英文原创作品 PHP | array_diff_uassoc() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。