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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。