二分查找法
$arr = array(4,58,11,34,88,45,32,54,63,78); function binary($arr,$bnum) { if(is_array($arr) && count($arr) > 0) { sort($arr); $start = 0; $end = count($arr)-1; $mid = -1; while($start <= $end) { $mid = floor( ($start+$end)/2 ); if($arr[$mid] == $bnum) { return $arr[$mid]; }else if($arr[$mid] < $bnum) { $start = $mid +1; }else if($arr[$mid] > $bnum) { $end = $mid - 1; } } return -1; } } $mm = binary($arr,32); print_r($mm);