2017-04-05 93 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")); 

您可以看到,这里使用的比较函数返回一个布尔值,但结果是完全一样的。底线:现有的实现更灵活,同时允许使用返回布尔结果的比较函数。