$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);