# Robson » Little Red Book » Random Numbers #3

## Chapter 7 - Question 4

Extend an available random function to create a new function of two integer values, a lower-bound and an upper-bound, and return an integer such that:

lower-bound <= random-integer <= upper-bound

Produce a program to test the function.

### Solution 1

PHP:

`<?`
`    // returns a random number between the lowest and highest numbers specificed, inclusive`
`    function random_number(\$lowest, \$highest)`
`    {`
`        // well, that was easy!`
`        return mt_rand(\$lowest, \$highest);`
`    }`
` `
`    // generate some random lower and upper bounds`
`    \$lower_bound = mt_rand(0, 10);`
`    \$upper_bound = mt_rand(11, 20);`
`    `
`    // perform a random number of tests to ensure the function works`
`    for (\$n = 0; \$n < mt_rand(5, 15); \$n++)`
`    {`
`        // generate a random number using the custom function`
`        \$x = random_number(\$lower_bound, \$upper_bound);`
`        // show the lower/upper boundaries, the random number`
`        // and if it is valid (1) or invalid (0)`
`        echo \$lower_bound . ' &lt;= ' . \$x . ' &lt;= ' . \$upper_bound . ' : ' .`
`             (\$x >= \$lower_bound && \$x <= \$upper_bound) . '<br/>';`
`    }    `
`?>`

Which produces:

4 <= 10 <= 15 : 1
4 <= 15 <= 15 : 1
4 <= 14 <= 15 : 1
4 <= 15 <= 15 : 1
4 <= 15 <= 15 : 1
• September 10, 2006 - Added solution 1.
© 2004-19 robson | cc unless stated