A function that returns the lower, higher, and closest number. The function receives two parameters: an array with numbers, and the number. Compares that number with the numbers from array, than returns an associative array with three elements: the "lower", "higher", and "closest" number.
<?php
// retutrs an array with the number from $array: lower, higher and closest to $nr
function closestLowerHigherNr($array, $nr) {
  // PHP-MySQL Course - http://coursesweb.net/php-mysql/
  sort($array);      // Sorts the array from lowest to highest

  // sets the array that will be returned, initially with the lowest and highest number from $array
  $re_arr = array('lower'=>min(current($array), $nr), 'higher'=>max(end($array), $nr), 'closest'=>$nr);

  // traverse the numbers, stores in $re_arr the number immediately lower and higher than $nr
  foreach($array AS $num){
    if($nr > $num) $re_arr['lower'] = $num;
    else if($nr <= $num){
      // if the current number from $array is equal to $nr, or immediately higher, stores that number
      // and stops the foreach() loop
      $re_arr['higher'] = $num;
      break;
    }
  }

  // here it gets the closest number to $nr
  // (the number ('lower' or 'higher') with the lowest diferrence between its value and $nr)
  $re_arr['closest'] = (abs($nr - $re_arr['lower']) < abs($re_arr['higher'] - $nr)) ? $re_arr['lower'] : $re_arr['higher'];

  return $re_arr;
}

// Example
$numbers = array(-8, -3, 0, 5.8, 12, 9, 2.1);
$test1 = closestLowerHigherNr($numbers, -6);
$test2 = closestLowerHigherNr($numbers, 3);
$test3 = closestLowerHigherNr($numbers, 9);

// see the values in $test1, $test2, $test3
var_export($test1);       // array ( 'lower' => -8, 'higher' => -3, 'closest' => -8 )
var_export($test2);       // array ( 'lower' => 2.1, 'higher' => 5.8, 'closest' => 2.1 )
var_export($test3);       // array ( 'lower' => 5.8, 'higher' => 9, 'closest' => 9 )
?>
This function works also if $nr is lower, or higher than any number in $array.
Example:
<?php
// here add the closestLowerHigherNr() function

$numbers = array(-8, 2, 12);
$test4 = closestLowerHigherNr($numbers, -23);      // -23 is lower than any number in $numbers
$test5 = closestLowerHigherNr($numbers, 18);       // 18 is higher than any number in $numbers

// see the values in $test4, $test5
var_export($test4);       // array ( 'lower' => -23, 'higher' => -8, 'closest' => -23 )
var_export($test5);       // array ( 'lower' => 12, 'higher' => 18, 'closest' => 18, )
?>

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which HTML5 tag can be used to embed an external application (SWF, PDF) in web page?
<mark> <embed> <canvas>
<embed src="flash_game.swf" width="450" height="350" />
Which CSS pseudo-element adds a special style to the first line of a text?
:first-letter :before :first-line
#id:first-line {
  font-weight: bold;
  color: blue;
}
Click on the window object property which gets or sets the URL of current page.
window.location window.self window.status
var url = window.location;
alert(url);
Indicate the PHP function used to get the contents of a file or page and store it into a string.
fopen() file_put_contents() file_get_contents()
$homepage = file_get_contents("http://coursesweb.net/");
echo $homepage;
Get Lower, Higher, and Closest Number

Last accessed pages

  1. Qwop (59132)
  2. N (549)
  3. Inca Ball (1959)
  4. Flash Games - Free online Games (21264)
  5. Zuma Games (18918)

Popular pages this month

  1. Qwop (4612)
  2. Drag Racer V3 (2236)
  3. Flash Games - Free online Games (1108)
  4. Bubbles3 (993)
  5. Courses Web: PHP-MySQL JavaScript Ajax HTML CSS Flash-AS3 (983)