PHP array_diff_ukey() 函數(shù)比較數(shù)組,返回兩個(gè)數(shù)組的差集(只比較鍵名,使用用戶自定義的鍵名比較函數(shù))。
array_diff_ukey()使用用戶定義函數(shù)僅比較兩個(gè)(或更多)數(shù)組的鍵,并返回一個(gè)數(shù)組,該數(shù)組包含array1中,但不存在于array2或array3等中的項(xiàng)。
此函數(shù)不同于array_diff()函數(shù),因?yàn)閍rray_diff()比較值,而此函數(shù)比較鍵。
此函數(shù)不同于array_diff_assoc()函數(shù),因?yàn)閍rray_diff_assoc()使用內(nèi)部算法比較索引,而此函數(shù)使用用戶定義的函數(shù)。
array_diff_ukey ( $array1, $array2 [, $array3...,callback $key_compare_func] );
序號(hào) | 參數(shù)及說明 |
---|---|
1 | array1(必填) 第一個(gè)數(shù)組是將與其他數(shù)組進(jìn)行比較的數(shù)組。 |
2 | array2(必填) 它是一個(gè)要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組 |
3 | array3(Optional) 它是一個(gè)要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組 |
4 | key_compare_func(必填) 在第一個(gè)參數(shù)小于,等于或大于第二個(gè)參數(shù)時(shí),該比較函數(shù)必須相應(yīng)地返回一個(gè)小于,等于或大于 0 的整數(shù)。 |
此函數(shù)返回一個(gè)數(shù)組,其中包含來自array1的所有其他數(shù)組中不存在的所有條目。
此函數(shù)最早是在PHP版本5.1.0中引入的。
array_diff_ukey()與key_compare_func()使用示例-
<?php function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1: -1; } $input1 = array(0=>"banana", 1=>"orange", 2=>"grapes"); $input2 = array(3=>"apple",1=>"apricot", 5=>"mango"); print_r(array_diff_ukey($input1,$input2,"key_compare_func")); ?>測(cè)試看看?/?
輸出結(jié)果:
Array ( [0] => banana [2] => grapes )
array_intersect_ukey() 示例-
<?php function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1: -1; } $input1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); $input2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); print_r(array_diff_ukey($input1,$input2,"key_compare_func")); ?>測(cè)試看看?/?
輸出結(jié)果:
Array ( [red] => 2 [purple] => 4 )