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 - https://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 HTML element can be used to embed a SWF flash content?
<object> <div> <script>
<object type="application/x-shockwave-flash" data="file.swf" width="500" height="250">
 <param name="src" value="file.swf" />
 Your browser not support SWF.
</object>
Which CSS pseudo-class adds a style to an input form field that has keyboard input focus?
:active :focus :hover
input:focus {
  background-color: #88fe88;
}
Click on the instruction which converts a JSON string into a JavaScript object.
JSON.stringify(javascript_object) object.toString() JSON.parse(json_string)
var jsnstr = '{"url": "http://coursesweb.net/", "title": "Web Development Courses"}';
var obj = JSON.parse(jsnstr);
alert(obj.url);
Indicate the PHP function which can be used to create or write a file on server.
fopen() file_put_contents() file_get_contents()
if (file_put_contents("file.txt", "content")) echo "The file was created";
else echo "The file can not be created";
Get Lower, Higher, and Closest Number

Last accessed pages

  1. Dynamically PHP Maps with Rectangle, Parallelogram, and Rhomb Shapes (550)
  2. innerHTML in PHP (7023)
  3. Convert XML to JSON in JavaScript (18610)
  4. SHA512 Encrypt hash in JavaScript (10957)
  5. Node.js Move and Copy Directory (1920)

Popular pages this month

  1. Insert, Select and Update NULL value in MySQL (516)
  2. Read Excel file data in PHP - PhpExcelReader (430)
  3. PhpSpreadsheet - Read, Write Excel and LibreOffice Calc files (319)
  4. PHP getElementById and getElementsByTagName (255)
  5. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (234)