array_udiff — 用回調(diào)函數(shù)比較數(shù)據(jù)來(lái)計(jì)算數(shù)組的差集
array_udiff( $array1, $array2 [, $array3 ..., $data_compare_func] );
它使用回調(diào)函數(shù)進(jìn)行數(shù)據(jù)比較來(lái)計(jì)算數(shù)組的差值,并返回一個(gè)數(shù)組,其中包含array1中所有其他參數(shù)中不存在的所有值。和 array_diff() 不同的是,前者使用內(nèi)置函數(shù)進(jìn)行數(shù)據(jù)比較。
序號(hào) | 參數(shù)及說(shuō)明 |
---|---|
1個(gè) | array1(必填) 它指定一個(gè)數(shù)組。 |
2 | array2(必填) 它指定要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組。 |
3 | array3(選填) 它指定要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組。 |
4 | data_compare_func(必填) 用戶自定義函數(shù)的名稱。 |
它返回一個(gè)數(shù)組,返回 array1 里沒(méi)有出現(xiàn)在其他參數(shù)里的所有值。
使用自定義函數(shù)比較兩個(gè)數(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"=>"blue","b"=>"black","e"=>"blue"); $result=array_udiff($a1,$a2,"myfunction"); print_r($result); ?>測(cè)試看看?/?
輸出結(jié)果:
Array ( [a] => red [b] => green )