- var_dump: documentation ( source)
- array_search: documentation ( source)
- sort: documentation ( source)
<?php
$A = [1, -2, 5, -9, 9];
$X = -9;
$s = solution($A, $X);
var_dump($s, array_search($X, $A));
function solution($A, $X) {
sort($A);
$N = sizeof($A);
if ($N == 0) {
return -1;
}
$l = 0;
$r = $N - 1;
while ($l < $r && $X !== $A[$l] ) {
$m = (int)(($l + $r) / 2);
if ($A[$m] > $X) {
$r = $m - 1;
} else {
$l = $m;
}
}
if ($A[$l] == $X) {
return $l;
}
else return -1;
}