array_intersect_uassoc
帶索引檢查計算數組的交集,用回調函數比較索引
array_intersect_uassoc()
函數用於比較兩個(或更多個)數組的鍵名和鍵值,並返回交集。
註釋:該函數使用用戶自定義函數比較鍵名!
該函數比較兩個(或更多個)數組的鍵名和鍵值,並返回交集數組,該數組包括了所有在被比較的數組( array1 )中,同時也在任何其他參數數組( array2或array3等等)中的鍵名和鍵值。
比較兩個數組的鍵名和鍵值(使用用戶自定義函數比較鍵名),並返回交集:
<?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 ( "d" => "red" , "b" => "green" , "e" => "blue" ) ; $result = array_intersect_uassoc ( $a1 , $a2 , "myfunction" ) ; print_r ( $result ) ; ?>
親自試一試
比較三個數組的鍵名和鍵值(使用用戶自定義函數比較鍵名),並返回交集:
<?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" => "red" , "b" => "green" , "d" => "blue" ) ; $a3 = array ( "e" => "yellow" , "a" => "red" , "d" => "blue" ) ; $result = array_intersect_uassoc ( $a1 , $a2 , $a3 , "myfunction" ) ; print_r ( $result ) ; ?>
親自試一試
array_intersect_uassoc ( array1 , array2 , array3 ... , myfunction )
參數 | 描述 |
---|---|
array1 | 必需。與其他數組進行比較的第一個數組。 |
array2 | 必需。與第一個數組進行比較的數組。 |
array3 ,... | 可選。與第一個數組進行比較的其他數組。 |
myfunction | 必需。定義可調用比較函數的字符串。如果第一個參數小於、等於或大於第二個參數,則該比較函數必須返回小於、等於或大於0 的整數。 |
array_intersect_uassoc()
函數使用用戶自定義的回調函數計算數組的交集,用回調函數比較索引。
array_intersect_uassoc()
返回一個數組,該數組包含了所有在array1中也同時出現在所有其它參數數組中的值。返回的數組中鍵名保持不變。
注意,與array_intersect()
不同的是除了比較鍵值,還要比較鍵名。
此比較是通過用戶提供的回調函數來進行的。該函數帶有兩個參數,即兩個要進行對比的鍵名。如果第一個參數小於第二個參數,則函數要返回一個負數,如果兩個參數相等,則要返回0,如果第一個參數大於第二個參數,則返回一個正數。