function binarySearch($array, $element, $low, $high) {
while ($low <= $high) {
$mid = $low + (int)(($high - $low) / 2);
if ($array[$mid] == $element)
return $mid;
if ($array[$mid] < $element)
$low = $mid + 1;
else
$high = $mid - 1;
}
return -1;
}
$array = array(3, 4, 6, 8, 9, 10, 12, 20, 27, 30, 31);
$number_to_find = 20;
$index = binarySearch($array, $number_to_find, 0, count($array));
if ($index == -1)
echo "Not found";
else
echo "Found at index: " . $index;
/*
run:
Found at index: 7
*/