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