array_udiff_uassoc()函数是PHP中的内置函数,用于区分两个或多个数组。该函数通过使用两个带有附加索引键的用户定义函数来计算差异数组。它使用回调函数比较数据和索引,并返回差值。
用法:
array_udiff_uassoc($arr1, $arr2, $arr3........nth array, value_Funtion, key_Funtion )
使用的参数:该array_udiff_uassoc()函数参数如下所述:
- $arr1,$arr2,$arr3,$arr4,…。,$arrn:这表示我们要区分的数组列表。
- value_Funtion:此参数代表用户定义的函数。该用户定义的函数将用于比较值。
- key_Funtion:它也是用户定义的函数。此用户定义的函数用于比较数组键。
注意:如果第一个自变量大于第二个自变量,则两个比较函数(value_Funtion,key_Funtion)均返回大于0的整数。
返回值:此函数返回一个数组,其中包含数组$arr1的所有值,这些值在任何其他数组中均不存在。
一些相关函数:
- PHP | arr_diff() Function :计算数组的差异。
- PHP | arr_udiff() Function:通过使用的用户定义的回调函数计算数组的差异并比较数据。
- PHP | array_diff_assoc() Function :使用附加索引键计算数组的差异。
- PHP | array_diff_uassoc() Function:此函数将一个或多个数组之间的键和值进行比较,并从第一个数组中返回其余数组中不存在的元素。
- PHP | array_diff_key() Function:将第一个参数数组的键与其余数组进行比较,并返回包含$array1中所有其他数组中不存在的所有条目的数组。
以下示例程序旨在说明array_udiff_uassoc()函数。
程序1:
<?php
// PHP program to illustrate
// array_udiff_uassoc() function
// comparison function for array values
function value_Funtion($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
// comparison function for array keys
function key_Funtion($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
// array1 list for comparison.
$arr1 = array(
"m" => "C lab",
"n" => "Java lab",
"o" => "C# lab",
"x" => "C++ lab",
"y" => "Ruby lab",
);
//array2 list for comparison.
$arr2 = array(
"m" => "C lab",
"b" => "Java lab",
"c" => "C# lab",
"x" => "C++ lab",
"n" => "Ruby lab",
);
$result = array_udiff_uassoc($arr1,
$arr2, "value_Funtion", "key_Funtion");
// print result.
print_r($result);
?>
输出:
Array ( [n] => Java lab [o] => C# lab [y] => Ruby lab )
程序:2
<?php
// PHP program to illustrate
// array_udiff_uassoc() function
// comparison function for array values
function value_Funtion($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
// comparison function for array keys
function key_Funtion($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
// array1 list for comparison.
$arr1 = array(
"a" => "C lab",
"b" => "Java lab",
"c" => "C# lab",
"d" => "C++ lab",
"e" => "Ruby lab",
);
// array2 list for comparison.
$arr2 = array(
"a" => "C lab",
"b" => "Java lab",
"c" => "C# lab",
"d" => "C++ lab",
"e" => "XML lab",
);
$arr3 = array(
"a" => "C lab",
"b" => "Java lab",
"c" => "C# lab",
"d" => "C++ lab",
"e" => "CSS lab"
);
$arr4 = array(
"a" => "C lab",
"b" => "Java lab",
"c" => "C# lab",
"d" => "C++ lab",
"e" => "PHP lab"
);
$result = array_udiff_uassoc($arr1, $arr2,
$arr3, $arr4, "value_Funtion", "key_Funtion");
// print result.
print_r($result);
?>
输出:
Array ( [e] => Ruby lab )
程序:3
<?php
// PHP program to illustrate
// array_udiff_uassoc() function
// comparison function for array values
function value_Funtion($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
// comparison function for array keys
function key_Funtion($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
// array1 list for comparison.
$arr1 = array(
"x" => "Geeks",
"y" => "for",
"z" => "Geeks",
);
// array2 list for comparison.
$arr2 = array(
"x" => "Geeks",
"y" => "for",
"z" => "Geeks",
);
$result = array_udiff_uassoc($arr1,
$arr2, "value_Funtion", "key_Funtion");
// print result.
print_r($result);
?>
输出:
Array ( )
计划:4取三个数组(array1和array2,array3)并使用比较函数array_udiff_uassoc()函数。如果所有三个数组都具有相同的索引,但值不同,则返回第一个数组。
<?php
// PHP program to illustrate
// array_udiff_uassoc() function
// comparison function for array values
function value_Funtion($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
// comparison function for array keys
function key_Funtion($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
// array1 list for comparison.
$arr1 = array(
"a" => "C lab",
"b" => "Java lab",
"d" => "C# lab",
);
// array2 list for comparison.
$arr2 = array(
"a" => "C ",
"b" => "Java ",
"d" => "C#",
);
// array3 list for comparison.
$arr3 = array(
"a" => "Program",
"b" => "Code",
"d" => "Run",
);
$result = array_udiff_uassoc($arr1,
$arr2, $arr3, "value_Funtion", "key_Funtion");
// print result.
print_r($result);
?>
输出:
Array ( [a] => C lab [b] => Java lab [d] => C# lab )
参考: http://php.net/manual/en/function.array-udiff-uassoc.php
相关用法
- p5.js sq()用法及代码示例
- d3.js d3.map.has()用法及代码示例
- PHP next()用法及代码示例
- p5.js day()用法及代码示例
- p5.js pow()用法及代码示例
- CSS var()用法及代码示例
- d3.js d3.map.set()用法及代码示例
- PHP pow( )用法及代码示例
- PHP pi( )用法及代码示例
- PHP Ds\Map get()用法及代码示例
- PHP Ds\Map put()用法及代码示例
- p5.js str()用法及代码示例
注:本文由纯净天空筛选整理自jit_t大神的英文原创作品 PHP | array_udiff_uassoc() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。