<?php
function justBinarySearch($x, $list) {
$left = 0;
$right = count($list) - 1; while ($left <= $right) {
$mid = (int)(($left + $right)/2);
if ($list[$mid] == $x) {
return true;
} elseif ($list[$mid] > $x) {
$right = $mid - 1;
} elseif ($list[$mid] < $x) {
$left = $mid + 1;
}
}
return false;
}
function binary
(array $array, $needle) { $right = count($array) - 1; $left = 0;
while($left <= $right) {
$mid = ($left + $right) / 2;
if ($array[$mid] == $needle) {
return $needle;
}
if ($array[$mid] > $needle) {
$right = $mid - 1;
}
if ($array[$mid] < $needle) {
$left = $mid + 1;
}
}
return 0;
}
echo justBinarySearch(21, [1,21,3,4,2,99]);
PD9waHAKCmZ1bmN0aW9uIGp1c3RCaW5hcnlTZWFyY2goJHgsICRsaXN0KSB7IAoJc29ydCgkbGlzdCk7CiAgICAkbGVmdCA9IDA7IAogICAgJHJpZ2h0ID0gY291bnQoJGxpc3QpIC0gMTsgCiAgICB3aGlsZSAoJGxlZnQgPD0gJHJpZ2h0KSB7IAogICAgICAgICRtaWQgPSAoaW50KSgoJGxlZnQgKyAkcmlnaHQpLzIpOyAKICAgICAgICBpZiAoJGxpc3RbJG1pZF0gPT0gJHgpIHsgCiAgICAgICAgICAgIHJldHVybiB0cnVlOyAKICAgICAgICB9IGVsc2VpZiAoJGxpc3RbJG1pZF0gPiAkeCkgeyAKICAgICAgICAgICAgJHJpZ2h0ID0gJG1pZCAtIDE7IAogICAgICAgIH0gZWxzZWlmICgkbGlzdFskbWlkXSA8ICR4KSB7IAogICAgICAgICAgICAkbGVmdCA9ICRtaWQgKyAxOyAKICAgICAgICB9IAogICAgfSAKICAgIHJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiBiaW5hcnkoYXJyYXkgJGFycmF5LCAkbmVlZGxlKSB7CgkkcmlnaHQgPSBjb3VudCgkYXJyYXkpIC0gMTsKCSRsZWZ0ID0gMDsKCQoJd2hpbGUoJGxlZnQgPD0gJHJpZ2h0KSB7CgkJJG1pZCA9ICgkbGVmdCArICRyaWdodCkgLyAyOwoJCWlmICgkYXJyYXlbJG1pZF0gPT0gJG5lZWRsZSkgewoJCQlyZXR1cm4gJG5lZWRsZTsKCQl9CgkJaWYgKCRhcnJheVskbWlkXSA+ICRuZWVkbGUpIHsKCQkJJHJpZ2h0ID0gJG1pZCAtIDE7CgkJfQoJCWlmICgkYXJyYXlbJG1pZF0gPCAkbmVlZGxlKSB7CgkJCSRsZWZ0ID0gJG1pZCArIDE7CgkJfQoJfQoJcmV0dXJuIDA7Cn0KZWNobyBqdXN0QmluYXJ5U2VhcmNoKDIxLCBbMSwyMSwzLDQsMiw5OV0pOwoK