线性查找法
public function search($data,$search) { $count = count($data); for($i=0;$i<$count;$i++) { if($data[$i] == $search) { return $i; } } return -1; }
折半查找法
public function bin_search($arr,$number) { if(!is_array($arr) || empty($arr)) { return -1; } $len = count($arr); $lower = 0; $high = $len - 1; while($lower <= $high) { $middle = intval(($lower + $high) / 2); if($arr[$middle] > $number) { $high = $middle - 1; }elseif($arr[$middle] < $number) { $lower = $middle + 1; }else{ return $middle; } } return -1; }
或者
public function bin($arr,$number,$low,$high) { if(!is_array($arr) || empty($arr