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

##### PHP-MySQL
Which attribute specifies the HTTP method (GET, POST) used to submit the form-data?
action method value
`<form action="script.php" method="post"> ... </form>`
```#id {
background-color: #bbfeda;
}```
Which function removes the first element from an array?
pop() push() shift()
```var fruits = ["apple", "apricot", "banana"];
fruits.shift();
Indicate the function that can be used to check if a PHP extension is instaled.
`if(extension_loaded("PDO") === true) echo "PDO is available."`
Get Lower, Higher, and Closest Number

#### Last accessed pages

1. querySelector and querySelectorAll (12788)
2. Contact page - CoursesWeb (29291)
3. Tabs effect with CSS (29953)
4. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (36637)
5. Add and Remove HTML elements and Content with jQuery (26500)

#### Popular pages this month

1. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (722)
2. Contact page - CoursesWeb (705)
3. Tabs effect with CSS (702)
4. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (231)
5. PHP-MySQL free course, online tutorials PHP MySQL code (173)