mt_rand


URL apg

GENERATE an integer  RANDOM VALUE  via MTRNG, Mersenne Twister Random Number Generator.



RANDOM NUMBERS

are numbers that occur in a sequence such that two conditions are met:

1 . the values are uniformly distributed over a defined interval or set.
2 . it is impossible to predict future values based on past or present ones.

Random numbers are important in statistical analysis and probability theory.

This function does not generate cryptographically secure values,therefore it should not be used for these purposes.

There are other functions in PHP that generate random integers for use in cryptography; such functions will be studied in the future.

 mt_rand  should be used instead of  rand  because it is much faster.

This function uses the MTRNG, Mersenne Twister Random Number:

   Mersenne Twister  !



<?php

// FIRST DESCRIPTION 

int mt_rand ()
            
?>    

<?php

// SECOND DESCRIPTION 
 
int mt_rand int $minint $max );


where,


$min the minimum integer value
           of the numeric interval

$max 
the maximun integer value
            of the numeric interval
            
             mt_getrandmax 
2147483647
                       
?>

$min


The minimum integer value of the numeric interval.



$max


The maximum integer value of the numeric interval.



  1 EXERCISE   

<?php

// Run this code several times
 
$mtrd01  mt_rand();

echo 
'The generated random number 
for this system in this moment, is: '
 
$mtrd01 '.<br><br>';

?> 

  2 EXERCISE   

<?php

// Run this code several times

$min02 10;

$max02 20;
 
$mtrd02  mt_rand($min02$max02);

echo 
'The random number generated 
for this system, within the numerical range:<br>['
 
$min02 ', ' $max02 '], at this point is '
 
$mtrd02 '.<br><br>'

?> 

  3 EXERCISE   

<?php

// Run this code several times

$min03 0;

$max03 mt_getrandmax();
 
$mtrd03  mt_rand($min03$max03);

echo 
'The random number generated 
for this system, within the numerical range:<br>['
 
$min03 ', ' $max03 '], at this point is '
 
$mtrd03 '.<br><br>';

?> 

  4 EXERCISE   

<?php

// Run this code several times

$min04 PHP_INT_MIN;
// -9223372036854775808 -> (64bit)

$max04 PHP_INT_MAX;
// 9223372036854775807  -> (64bit)
 
$mtrd04  mt_rand($min04$max04);

echo 
'The random number generated 
for this system, within the numerical range:<br>['
 
$min04 ', ' $max04 '], at this point is '
 
$mtrd04 '.<br><br>';

?> 

  5 EXERCISE   

<?php

// This code generates a 
// Warning in PHP 7.4.XX
// and a 
// Fatal error in PHP 8.0.XX and PHP 8.1.XX.

$min05 = (PHP_INT_MIN 1);
// -9223372036854775809 

$max05 = (PHP_INT_MAX 1);
//  9223372036854775808
// Causes of Warning and Fatal error
  
 
$rd05  mt_rand($min05$max05);

$min05a = (PHP_INT_MIN);
// -9223372036854775808 -> (64bit)

$max05a = (PHP_INT_MAX);
//  9223372036854775807 -> (64bit)

$rd05a  mt_rand($min05a$max05a);

echo 
'The random number generated 
for this system, within the numerical range:<br>['
 
$min05a ', ' $max05a '], at this point is '
 
$rd05a '.<br><br>';

?>