PHPWales 2020 - June 3rd to June 4th

lcg_value

(PHP 4, PHP 5, PHP 7)

lcg_valueCombined linear congruential generator

Açıklama

lcg_value ( void ) : float

lcg_value() returns a pseudo random number in the range of (0, 1). The function combines two CGs with periods of 2^31 - 85 and 2^31 - 249. The period of this function is equal to the product of both primes.

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla kullanılmamalıdır. Kriptografik olarak güvenilir bir değere ihtiyaç duyuyorsanız bunun yerine random_int(), random_bytes() veya openssl_random_pseudo_bytes() işlevini deneyebilirsiniz.

Dönen Değerler

A pseudo random float value between 0.0 and 1.0, inclusive.

Ayrıca Bakınız

  • rand() - Generate a random integer
  • mt_rand() - Generate a random value via the Mersenne Twister Random Number Generator

add a note add a note

User Contributed Notes 3 notes

up
10
daniel dot baulig at gmx dot de
9 years ago
Choose your weapon:
<?php
function mt_randf($min, $max)
{
    return
$min + abs($max - $min) * mt_rand(0, mt_getrandmax())/mt_getrandmax();
}
function
lcg_randf($min, $max)
{
    return
$min + lcg_value() * abs($max - $min);
}
function
randf($min, $max)
{
    return
$min + rand(0,getrandmax()) / getrandmax() * abs($max - $min);
}
?>
up
8
rok kralj gmail com
12 years ago
An elegant way to return random float between two numbers:

<?php
function random_float ($min,$max) {
   return (
$min+lcg_value()*(abs($max-$min)));
}
?>
up
-14
Linndows
3 years ago
I think best example...
<?php
$x
=0;
while(
$x<=5){
$x++;
echo
lcg_value()+$x."\n";   }
     echo
lcg_value()+$x-(2*lcg_value()); echo "\n";
?>
To Top