2017-04-05 60 views

回答

0

該功能已經以這種方式實現,以允許使用使用這種返回策略的「經典」比較功能。這樣的功能通常需要能夠表達三個情況,這對於顯而易見的原因是不可能的,其具有布爾返回值。

但是,您也可以使用返回布爾結果的比較函數,因爲php作爲弱類型語言會自動爲您轉換。在這個例子是函數文檔中給出了一個稍微修飾的版本看看:

<?php 
function mystrcasecmp($a, $b) { 
    return strcasecmp($a, $b) ? true : false; 
} 

$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); 
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red"); 

print_r(array_uintersect_assoc($array1, $array2, "mystrcasecmp")); 

您可以看到,這裏使用的比較函數返回一個布爾值,但結果是完全一樣的。底線:現有的實現更靈活,同時允許使用返回布爾結果的比較函數。