// ceiling of N = the smallest element in an array greater than or equal to N
function find_the_ceiling($arr, $N) {
$size = count($arr);
if ($N <= $arr[0]) {
return 0;
}
for ($i = 0; $i < $size; $i++) {
if ($arr[$i] == $N) {
return $i;
}
if ($arr[$i] < $N && $arr[$i + 1] >= $N) {
return $i + 1;
}
}
return -1;
}
$arr = array(1, 2, 7, 8, 14, 19, 20, 24, 28);
$N = 9;
$index = find_the_ceiling($arr, $N);
if ($index == -1) {
echo "The ceiling doesn\'t exist in array";
}
else {
echo "The ceiling of " . $N . " is " . $arr[$index];
}
/*
run:
The ceiling of 9 is 14
*/