<?php
/*
*  二分查找(必须是有顺序数)必须掌握
*  @arr 要被查找的数组
*  @findvl  要查找的数
*  @right   右边的数组
*  @left    左边数组
*  @middle  中间的数
*/
$arr=array(-1,0,40,90);
function binarysearch(&$arr,$findval,$left,$right)
{
if($right<$left)
{
echo “找不到此数”;
return ;
}
$middle=round(($right+$left)/2);
if($findval>$arr[$middle])
{
binarysearch($arr,$findval,$middle+1,$right);
}else if($findval<$arr[$middle])
{
binarysearch($arr,$findval,$left,$middle-1);
}else
{
echo $middle;
}
}
binarysearch($arr,0,0,count($arr));