PHP array_intersect_ukey() 函數(shù)用回調(diào)函數(shù)比較鍵名來(lái)計(jì)算數(shù)組的交集
array_intersect_ukey ( $array1, $array2 [, $array3..., callback $key_compare_func] );
array_intersect_ukey() 函數(shù)用于比較兩個(gè)(或更多個(gè))數(shù)組的鍵名 ,并返回交集。
注釋:該函數(shù)使用用戶自定義函數(shù)比較鍵名!
該函數(shù)比較兩個(gè)(或更多個(gè))數(shù)組的鍵名,并返回一個(gè)交集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,同時(shí)也在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的鍵名。
序號(hào) | 參數(shù)及說(shuō)明 |
---|---|
1 | array1(必填) 第一個(gè)數(shù)組是其他數(shù)組將與之比較的數(shù)組。 |
2 | array2(必填) 這是一個(gè)要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組 |
3 | array3(選填) 這是一個(gè)要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組 |
4 | key_compare_func(必填) 用戶定義的回調(diào)函數(shù)。 |
它返回一個(gè)包含array1的所有值的數(shù)組,這些值具有在所有參數(shù)中都存在的匹配鍵。如果有任何錯(cuò)誤,它將返回FALSE。
<?php function key_compare_func($k1, $k2) { if ($k1 == $k2) return 0; else if ($k1 > $k2) return 1; else return -1; } $input1 = array('blue'=>1, 'red'=>2, 'green'=>3, 'purple'=>4); $input2 = array('green'=>5, 'blue'=>6, 'pink'=>7, 'black'=>8); $result = array_intersect_ukey($input1, $input2, "key_compare_func"); var_dump($result); ?>測(cè)試看看?/?
輸出結(jié)果:
array(2) { ["blue"]=> int(1) ["green"]=> int(3) }