3v4l.org

run code in 300+ PHP versions simultaneously
<?php $c = [1,2,4,8,18,20,33,66,99]; function indexOfNumb(array $base, $x) { $leftI = 0; $rightI = count($base) - 1; do { $centerI = floor(($rightI + $leftI) / 2); if($base[$centerI] === $x) { return $centerI; } elseif($base[$centerI] > $x && $centerI !== $rightI) { $rightI = $centerI; } elseif($base[$centerI] < $x && $centerI !== $leftI) { $leftI = $centerI; } else { return ($x - $base[$leftI] > $base[$rightI] - $x) ? $rightI : $leftI; } } while(1); } var_dump(indexOfNumb($c, 65));

preferences:
57.31 ms | 402 KiB | 5 Q