比較兩個(gè)數(shù)組的鍵名和鍵值(使用用戶自定義函數(shù)比較鍵名),并返回交集:
<?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_intersect_uassoc($a1,$a2,"myfunction")
;
print_r($result);
?>
array_intersect_uassoc() 函數(shù)用于比較兩個(gè)(或更多個(gè))數(shù)組的鍵名和鍵值 ,并返回交集。
注釋:該函數(shù)使用用戶自定義函數(shù)比較鍵名!
該函數(shù)比較兩個(gè)(或更多個(gè))數(shù)組的鍵名和鍵值,并返回交集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,同時(shí)也在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的鍵名和鍵值。
array_intersect_uassoc() 函數(shù)使用用戶自定義的回調(diào)函數(shù)計(jì)算數(shù)組的交集,用回調(diào)函數(shù)比較索引。
array_intersect_uassoc() 返回一個(gè)數(shù)組,該數(shù)組包含了所有在 array1 中也同時(shí)出現(xiàn)在所有其它參數(shù)數(shù)組中的值。返回的數(shù)組中鍵名保持不變。
注意,與 array_intersect() 不同的是除了比較鍵值,還要比較鍵名。
此比較是通過(guò)用戶提供的回調(diào)函數(shù)來(lái)進(jìn)行的。該函數(shù)帶有兩個(gè)參數(shù),即兩個(gè)要進(jìn)行對(duì)比的鍵名。如果第一個(gè)參數(shù)小于第二個(gè)參數(shù),則函數(shù)要返回一個(gè)負(fù)數(shù),如果兩個(gè)參數(shù)相等,則要返回 0,如果第一個(gè)參數(shù)大于第二個(gè)參數(shù),則返回一個(gè)正數(shù)。
array_intersect_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ù)。 |
返回值: | 返回交集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,同時(shí)也在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的鍵名和鍵值。 |
PHP 版本: | 5+ |
比較三個(gè)數(shù)組的鍵名和鍵值(使用用戶自定義函數(shù)比較鍵名),并返回交集:
<?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_intersect_uassoc($a1,$a2,$a3,"myfunction")
;
print_r($result);
?>
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇
Powered by 365建站網(wǎng) RSS地圖 HTML地圖
copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)