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