$arr = [1,3,4,5,6,77,88,89,90,100,122,133,134,166];
$num = 100;
$start = 0;
$end = count($arr)-1;
//参数 想要找的值,数组,开始键,结束键
function getkey($num,$arr,$start,$end)
{
$mid = ceil(($start+$end)/2);
if($arr[$mid] == $num){
echo $mid;
}elseif($arr[$start] == $num){
echo $start;
}elseif($arr[$end] == $num){
echo $end;
}else{
if($mid == $start || $mid == $end){
echo '查不到该值';
return;
}
//递归查找数值
if($arr[$mid] > $num){
getkey($num,$arr,$start,$mid);
}else{
getkey($num,$arr,$mid,$end);
}
}
}
getkey($num,$arr,$start,$end);