比較兩個(gè)數(shù)組的鍵名和鍵值(使用用戶自定義函數(shù)來(lái)比較鍵名),并返回差集:
<?php
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");
$result=array_diff_uassoc($a1,$a2,"myfunction")
;
print_r($result);
?>
array_diff_uassoc() 函數(shù)用于比較兩個(gè)(或更多個(gè))數(shù)組的鍵名和鍵值 ,并返回差集。
注釋:該函數(shù)使用用戶自定義函數(shù)來(lái)比較鍵名!
該函數(shù)比較兩個(gè)(或更多個(gè))數(shù)組的鍵名和鍵值,并返回一個(gè)差集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,但是不在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的鍵名和鍵值。
array_diff_uassoc(array1,array2,array3...,myfunction);
參數(shù) | 描述 |
---|---|
array1 | 必需。與其他數(shù)組進(jìn)行比較的第一個(gè)數(shù)組。 |
array2 | 必需。與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組。 |
array3,... | 可選。與第一個(gè)數(shù)組進(jìn)行比較的其他數(shù)組。 |
myfunction | 必需。定義可調(diào)用比較函數(shù)的字符串。如果第一個(gè)參數(shù)小于、等于或大于第二個(gè)參數(shù),則該比較函數(shù)必須返回小于、等于或大于 0 的整數(shù)。 |
array_diff_uassoc() 函數(shù)使用用戶自定義的回調(diào)函數(shù) (callback) 做索引檢查來(lái)計(jì)算兩個(gè)或多個(gè)數(shù)組的差集。返回一個(gè)數(shù)組,該數(shù)組包括了在 array1 中但是不在任何其他參數(shù)數(shù)組中的值。
注意,與 array_diff() 函數(shù) 不同的是,鍵名也要進(jìn)行比較。
參數(shù) myfunction 是用戶自定義的用來(lái)比較兩個(gè)數(shù)組的函數(shù),該函數(shù)必須帶有兩個(gè)參數(shù) - 即兩個(gè)要進(jìn)行對(duì)比的鍵名。因此與函數(shù) array_diff_assoc() 的行為正好相反,后者是用內(nèi)部函數(shù)進(jìn)行比較的。
返回的數(shù)組中鍵名保持不變。
返回值: | 返回差集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,但是不在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的鍵名和鍵值。 |
PHP 版本: | 5+ |
比較三個(gè)數(shù)組的鍵名和鍵值(使用用戶自定義函數(shù)來(lái)比較鍵名),并返回差集:
<?php
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");
$result=array_diff_uassoc($a1,$a2,$a3,"myfunction")
;
print_r($result);
?>
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇
Powered by 365建站網(wǎng) RSS地圖 HTML地圖
copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)