array_uintersect() 函數(shù)計(jì)算數(shù)組的交集,使用回調(diào)函數(shù)比較數(shù)據(jù)
array_uintersect ( $array1, $array2 [, $array3 ..., $data_compare_func] );
array_uintersect() 返回一個(gè)數(shù)組,該數(shù)組包含了所有在 array1 中也同時(shí)出現(xiàn)在所有其它參數(shù)數(shù)組中的值。數(shù)據(jù)比較是用回調(diào)函數(shù)進(jìn)行的。 此比較是通過(guò)用戶提供的回調(diào)函數(shù)來(lái)進(jìn)行的。如果認(rèn)為第一個(gè)參數(shù)小于,等于,或大于第二個(gè)參數(shù)時(shí)必須分別返回一個(gè)小于零,等于零,或大于零的整數(shù)。
此函數(shù)返回一個(gè)數(shù)組,其中包含所有參數(shù)中存在的array1的所有值。 使用回調(diào)函數(shù)比較數(shù)據(jù)。
序號(hào) | 參數(shù)及說(shuō)明 |
---|---|
1 | array1 需要。指定一個(gè)數(shù)組。 |
2 | array2 需要。指定要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組。 |
3 | array3 可選的。指定要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組。 |
4 | data_compare_func 需要。用戶自定義函數(shù)的名稱。 |
使用內(nèi)置函數(shù)strcasecmp作為回調(diào)函數(shù),計(jì)算兩個(gè)數(shù)組的交集
<?php $array1 = array("a"=>"green", "b"=>"brown", "c"=>"blue", "red"); $array2 = array("a"=>"GREEN", "B"=>"brown", "yellow", "red"); print_r(array_uintersect($array1, $array2, "strcasecmp")); ?>測(cè)試看看?/?
輸出結(jié)果:
Array ( [a] => green [b] => brown [0] => red )