我的二分查找函数为什么返回不了值??
<?php
function binarySearch(&$arr,$findVal,$leftIndex,$rightIndex){
//取中间的数的下标
$middleIndex=round(($leftIndex+$rightIndex)/2);
if($leftIndex>$rightIndex){
return "查找不到";
}
if($findVal>$arr[$middleIndex]){ //当查找的值比中间的数大
binarySearch($arr,$findVal,$middleIndex+1,$rightIndex); //从中间数的后段查找
}elseif($findVal<$arr[$middleIndex]){ //当查找的值比中间的数小
binarySearch($arr,$findVal,$leftIndex,$middleIndex-1); //从中间数的前段查找
}else{
return $middleIndex;
}
}
$a=array(1,2,3,4,5,6,7,8,9);
$b=binarySearch($a,1,0,count($a)-1);
var_dump($b);
?>