lcg_value

(PHP 4, PHP 5, PHP 7, PHP 8)

lcg_valueCombined linear congruential generator

Descripción

lcg_value(): 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.

Precaución

Esta función no genera valores criptográficos fiables por lo que no debería empelarse para propósitos criptográficos. Si fuera necesario un valor criptográfico seguro, considérese utilizar random_int(), random_bytes(), o openssl_random_pseudo_bytes() en su lugar.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

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

Ver también

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

add a note

User Contributed Notes 3 notes

up
18
rok kralj gmail com
15 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
15
daniel dot baulig at gmx dot de
12 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
-33
Linndows
6 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