array_uintersect_uassoc
帶索引檢查計算數組的交集,用單獨的回調函數比較數據和索引
array_uintersect_uassoc()
函數比較兩個(或更多個)數組的鍵名和鍵值,並返回交集。
註釋:該函數使用兩個用戶自定義函數進行比較;第一個函數比較鍵名,第二個函數比較鍵值!
該函數比較兩個(或更多個)數組的鍵名和鍵值,並返回交集數組,該數組包括了所有在被比較的數組( array1 )中,同時也在任何其他參數數組( array2或array3等等)中的鍵名和鍵值。
注意,與array_uintersect()
不同的是鍵名也要比較。鍵值和鍵名(索引)都是用回調函數比較的。
比較兩個數組的鍵名和鍵值(使用用戶自定義函數進行比較),並返回交集(匹配):
<?php function myfunction_key ( $a , $b ) { if ( $a === $b ) { return 0 ; } return ( $a > $b ) ? 1 : - 1 ; } function myfunction_value ( $a , $b ) { if ( $a === $b ) { return 0 ; } return ( $a > $b ) ? 1 : - 1 ; } $a1 = array ( "a" => "red" , "b" => "green" , "c" => "blue" ) ; $a2 = array ( "a" => "red" , "b" => "green" , "c" => "green" ) ; $result = array_uintersect_uassoc ( $a1 , $a2 , "myfunction_key" , "myfunction_value" ) ; print_r ( $result ) ; ?>
親自試一試