このような関数は、このような戻り戦略を使用する「古典的な」比較関数を使用できるように実装されています。このような関数は、明らかにブール値の戻り値では不可能な 3つの場合を表すことができる必要があります。
しかし、はがブール値の結果を返す比較関数を使用することもできます。これは、弱い型指定言語としてのPHPが自動的に変換するためです。機能のマニュアルの1のわずかmodifedバージョンであることを例に見てみましょう:
<?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"));
あなたがここで使用される比較関数はブール値を返し、まだ結果はまったく同じであることがわかります。
ボトムライン:既存の実装は、あまりにも、ブール結果を返す比較関数の使用を可能にしながら、より柔軟です。