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) ? $leftI : $rightI; } } while(1); } var_dump(indexOfNumb($c, 65));
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.7
float(6)

preferences:
200.95 ms | 404 KiB | 227 Q