比較兩個陣列的鍵值(使用使用者自訂函數比較鍵值),並傳回交集:
<?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_uintersect ( $a1 , $a2 , " myfunction " ) ; print_r ( $result ) ; ?>array_uintersect() 函數用於比較兩個(或更多個)陣列的鍵值,並傳回交集。
註釋:此函數使用使用者自訂函數比較鍵值!
該函數比較兩個(或更多)數組的鍵值,並傳回一個交集數組,該數組包括了所有在被比較的數組( array1 )中,同時也在任何其他參數數組( array2或array3等等)中的鍵值。
array_uintersect( array1,array2,array3...,myfunction )
參數 | 描述 |
---|---|
array1 | 必需。與其他數組進行比較的第一個數組。 |
array2 | 必需。與第一個數組進行比較的數組。 |
array3,... | 可選。與第一個數組進行比較的其他數組。 |
myfunction | 必需。一個定義了可呼叫比較函數的字串。如果第一個參數<, =, > 第二個參數,則相應地比較函數必須傳回一個<, =, > 0 的整數。 |
傳回值: | 傳回一個交集數組,該數組包括了所有在被比較的數組( array1 )中,同時也在任何其他參數數組( array2或array3等等)中的鍵值。 |
---|---|
PHP 版本: | 5+ |
使用內建函數strcasecmp 來忽略大小寫比較,並傳回交集:
<?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 " ) ) ; ?>