function erfenfa($a,$value,$star,$end)
{
if ( $star > $end )
{
return "数据 $value 不在范围内";
}
echo "开始从 $star - $end 之间寻找 <br>";
$middle = floor( ($star+$end)/2 );
$middle_value = $a[$middle];
if ( $value == $middle_value )
{
return true;
}
elseif ( $value > $middle_value ) //从左边找
{
$end = $middle-1;
erfenfa($a,$value,$star,$end);
}
elseif ( $value < $middle_value ) //从右边找
{
$star = $middle+1;
erfenfa($a,$value,$star,$end);
}
}
$length = count($a);
$star = 0;
$end = $length-1;
$value = 50;
echo "用二分法查找 $value <br>";
$s = erfenfa($a,$value,$star,$end);
var_dump($s);