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

##### PHP-MySQL
Which tag renders as emphasized text, displaying the text oblique?
<strong> <pre> <em>
`<p>Web development courses: <em>CoursesWeb.net</em></p>`
Which CSS property defines the space between the element border and its content?
```h3 {
}```
Click on the method which returns the first element that matches a specified group of selectors.
getElementsByName() querySelector() querySelectorAll()
```// gets first Div with class="cls", and shows its content
var elm = document.querySelector("div.cls");
Indicate the PHP variable that contains data from a form sent with method="post".
\$_SESSION \$_GET \$_POST
```if(isset(\$_POST["field"])) {
echo \$_POST["field"];
}```
Get Lower, Higher, and Closest Number

#### Last accessed pages

1. Get the value of the selected /checked checkboxes in a form (34441)
2. Working with HTML attributes in PHP (5271)
3. Auto Moto Games (11279)
4. Hot Rod Master (668)
5. innerHTML in PHP (6007)

#### Popular pages this month

1. Qwop (4080)
2. Get Attribute (ID, Class, Name, Title, Src) with jQuery (2264)
3. Get the value of the selected /checked checkboxes in a form (1752)
4. Drag Racer V3 (1521)
5. Flash Games - Free online Games (1235)